当前位置: 首页 > news >正文

1、Pandas 数据结构:从 Series 到 DataFrame

目录

Series

创建 Series

Series 索引和选择

DataFrame

创建 DataFrame

DataFrame 索引和选择

DataFrame 操作和转换

数据结构转换


Series

        Series 是 Pandas 中的一维数组形式的数据结构,它可以包含任何数据类型(整数、字符串、浮点数、Python对象等)。Series 基本上可以被视作一个定长的有序字典,因为它是索引值到数据值的一个映射。

创建 Series

        可以使用 pd.Series(data, index=index) 来创建 Series,其中 data 可以是列表、字典、ndarray 等,index 是数据索引标签。

import pandas as pd# 从列表创建 Series
s1 = pd.Series([1, 3, 5, 7, 9])
print(s1)
print("=="*10)# 从字典创建 Series
s2 = pd.Series({'a': 100, 'b': 200, 'c': 300})
print(s2)
print("=="*10)# 从 ndarray 创建 Series
s3 = pd.Series(pd.date_range('20230101', periods=6))
print(s3)

结果:

0    1
1    3
2    5
3    7
4    9
dtype: int64
====================
a    100
b    200
c    300
dtype: int64
====================
0   2023-01-01
1   2023-01-02
2   2023-01-03
3   2023-01-04
4   2023-01-05
5   2023-01-06
dtype: datetime64[ns]

Series 索引和选择

Series 支持基于位置和基于标签的索引。

# 选择第四个元素
print(s1[3])# 选择索引标签为 'b' 的元素
print(s2['b'])# 选择前三个元素
print(s1[:3])

结果:

7
200
0    1
1    3
2    5

DataFrame

        DataFrame 是 Pandas 中的二维表格型数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame 既有行索引也有列索引,它可以被看作是由 Series 组成的字典。

创建 DataFrame

        可以使用 pd.DataFrame(data, index=index, columns=columns) 来创建 DataFrame,其中 data 可以是字典、ndarray、Series 或另一个 DataFrame。

import numpy as np
import pandas as pd# 从字典创建 DataFrame
df1 = pd.DataFrame({'A': 1.,'B': pd.Timestamp('20230102'),'C': pd.Series(1, index=list(range(4)), dtype='float32'),'D': np.array([3] * 4, dtype='int32'),'E': pd.Categorical(["test", "train", "test", "train"]),'F': 'foo'
})
print(df1)# 从二维ndarray创建 DataFrame
df2 = pd.DataFrame(np.random.randn(6, 4), columns=['A', 'B', 'C', 'D'])
print(df2)

结果:

     A          B    C  D      E    F
0  1.0 2023-01-02  1.0  3   test  foo
1  1.0 2023-01-02  1.0  3  train  foo
2  1.0 2023-01-02  1.0  3   test  foo
3  1.0 2023-01-02  1.0  3  train  fooA         B         C         D
0 -0.434026  0.948463  0.386731  0.814795
1 -0.317982 -2.987843  0.519228 -1.365834
2 -2.120951  0.385530 -0.066971  0.089497
3 -1.299795  0.648691 -1.954919 -0.441423
4  0.789665  0.819811 -0.519527 -0.157360
5  0.701758  0.455677 -0.418348  0.518226

DataFrame 索引和选择

DataFrame 提供了多种方法来选择和索引:

# 选择单独的一列,返回一个 Series
print(df1['A'])# 利用 loc 选择行
print(df2.loc[0])# 通过位置选择
print(df2.iloc[3])# 切片选择行
print(df2[2:5])# 布尔索引
print(df1[df1['A'] > 0])

结果:

0    1.0
1    1.0
2    1.0
3    1.0
Name: A, dtype: float64
A    0.463703
B   -0.132394
C   -1.097140
D    0.617243
Name: 0, dtype: float64
A    1.522528
B    1.262699
C    1.334090
D   -1.488483
Name: 3, dtype: float64A         B         C         D
2 -0.382140  2.616053  1.539264  0.486279
3  1.522528  1.262699  1.334090 -1.488483
4 -0.272724  4.060280  1.894378  0.794090A          B    C  D      E    F
0  1.0 2023-01-02  1.0  3   test  foo
1  1.0 2023-01-02  1.0  3  train  foo
2  1.0 2023-01-02  1.0  3   test  foo
3  1.0 2023-01-02  1.0  3  train  foo

DataFrame 操作和转换

DataFrame 支持各种操作,包括数据清洗、转换、聚合等。

# 设置新的一列
df1['G'] = df1['A'] * 2
print(df1)# 删除一列
df1.drop(columns='G', inplace=True)# 聚合操作
print(df1.mean())

数据结构转换

Series 与 DataFrame 之间可以相互转换:

# Series 转 DataFrame
s_to_df = s1.to_frame()# DataFrame 转 Series
df_to_s = df1['A']

相关文章:

1、Pandas 数据结构:从 Series 到 DataFrame

目录 Series 创建 Series Series 索引和选择 DataFrame 创建 DataFrame DataFrame 索引和选择 DataFrame 操作和转换 数据结构转换 Series Series 是 Pandas 中的一维数组形式的数据结构,它可以包含任何数据类型(整数、字符串、浮点数、Python对象…...

MySQL函数—字符串函数

MySQL函数—字符串函数 函数功能CONCAT(s1,s2,...sn)字符串拼接,将s1,s2,...sn拼接成一个字符串LOWER(str)将字符串全部转为小写UPPER(str)将字符串全部转为大写LPAD(str,n,pad)左填充,用字符串pad对str左边进行填充,达到n个字符串长度RPAD(s…...

PLC从HTTP服务端获取JSON文件,解析数据到寄存器

智能网关IGT-DSER集成了多种PLC协议,方便实现各种PLC与HTTP服务端之间通讯。通过网关的参数配置软件绑定JSON文件的字段与PLC寄存器地址,配置URL,即可采用POST命令,将JSON文件提交给HTTP的服务端; 服务端有返回的JSON&…...

LeetCode 46. 全排列

46. 全排列 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2: 输入&#…...

NVMe TCG安全数据存储简介

NVMe(非易失性内存主机控制器接口规范)与TCG(可信计算组)的集成主要体现在数据安全、固件验证和硬件信任根等方面,以确保存储设备的数据保护能力和安全性。 TCG Opal定义了一套针对自加密硬盘(SED, Self-En…...

Linux命令-ab命令(Apache服务器的性能测试工具 )

Apache服务器的性能测试工具 ab命令 是一个测试你 Apache http 服务器的工具,你可以通过这个工具,指定一个单位时间内向 apache 发出的请求数量来看看你的 Apache 和机器配合的性能如何。 语法 []内容为ab命令后跟的语法,eg:ab …...

蓝桥杯java基础

数组的倒序与隔位输出 时间限制:1.000S 空间限制:128MB 题目描述 给定一个整数数组,编写一个程序实现以下功能: 1. 将输入的整数数组倒序输出,每个数之间用空格分隔。 2. 从正序数组中,每隔一个单位&a…...

Unity3d引擎中使用AIGC生成的360全景图(天空盒)

前言 在这里与Skybox AI一起,一键打造体验无限的360世界,这是这个AIGC一键生成全景图的网站欢迎语。 刚使用它是23年中旬,在没有空去给客户实地拍摄全景图时,可以快速用它生成一些相关的全景图,用作前期沟通的VR de…...

React Router v6 改变页面Title

先说正事再闲聊 1、在路由表加个title字段 2、在index包裹路由 3、在App设置title 闲聊: 看到小黄波浪线了没 就是说默认不支持title字段了 出来的提示, 所以我本来是像下面这样搞的,就是感觉有点难维护,就还是用上面的方法了 …...

postman测试导入文件

01 上传文件参数 1.选择请求方式 选择post请求方式,输入请求地址 2.填写Headers Key:Content-Type ; Value:multipart/form-data 如下图 3.填写body 选择form-data,key选择file类型后value会出现按钮&#xff0…...

ZigBee学习(一)

文章目录 一、ZigBee介绍二、IEEE 802.15.42.1 物理层2.2 MAC层2.3 如何实现网络和设备寻址2.4 能量管理 三、ZigBee网络拓扑结构四、ZigBee配置参数 一、ZigBee介绍 ZigBee是一种基于IEEE 802.15.4标准的高级通信协议,它被设计用于低速率、低功耗和短距离无线通信&…...

Unity—配置lua环境变量+VSCode 搭建 Lua 开发环境

每日一句:保持须臾的浪漫,理想的喧嚣,平等的热情 Windows 11下配置lua环境变量 一、lua-5.4.4版本安装到本地电脑 链接:https://pan.baidu.com/s/14pAlOjhzz2_jmvpRZf9u6Q?pwdhd4s 提取码:hd4s 二、高级系统设置 此电…...

前端-云点播技术

一、简介 云点播(Cloud Video On Demand)是一种基于云计算平台提供的视频点播服务。这种服务允许用户在需要的时候按需观看视频内容,而无需等待下载完成。以下是一些关于云点播技术的常见特征和要点: 存储和管理: 云存…...

k8s---ingress对外服务(traefik)

目录 ingress的证书访问 traefik traefik的部署方式: deamonset deployment nginx-ingress与traefix-ingress相比较 nginx-ingress-controller ui访问 deployment部署 ingress的证书访问 ingress实现https代理访问: 需要证书和密钥 创建证书 密钥 secre…...

MySQL-SQL-DQL

DQL-介绍 DQL-语法 基本查询 1、查询多个字段 2、设置别名 3、去除重复记录 条件查询 1、语法 2、条件 聚合函数 1、介绍 2、常见的聚合函数 3、语法 分组查询 1、语法 2、where与having区别 排序查询 1、语法 2、排序方式 分页查询 1、语法 DQL-执行顺序...

Docker(十四)Etcd 项目

作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! etcd etcd 是 CoreOS 团队发起的一个管理配置信息和服务发现(Service Discovery)的项目,在这一章里面&a…...

EtherNet/IP开发:C++开发CIP源代码

① 介绍一下CIP CIP是一种考虑到自动化行业而设计的通用协议。然而,由于其开放性,它可以并且已经应用于更多的领域。CIP网络库包含若干卷: 第1卷介绍了适用于所有网络自适应的CIP的常见方面。本卷包含通用对象库和设备配置文件库&#xff0…...

【算法题】68. 文本左右对齐

题目 给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必…...

PHP 调用 e 签宝接口签名指南

前言 在 401 问题上卡了 一段时间,参考官网文档和鉴权签名计算测试也试了很久,签名确定是没错的,但是一直提示 INVALID_SIGNATURE 其实问题在于我忽略了 公共请求头格式 中 Content-MD5 部分的一句话: GET 和 DELETE 请求且 Bod…...

穿越Flink的时间隧道:解锁实时数据之窗,掌握流处理之巅

目录 Flink中的时间和窗口 1时间语义 1.1Flink中的时间语义 1.1.1处理时间 1.1.2事件时间 1.2那种时间语义更重要 2 水位线 2.1 事件时间和窗口 2.2 什么是水位线 2.3 如何生成水位线 2.3.1使用WatermarkGenerator 2.3.2使用SourceFunction 2.4 水位线的传递 2.5 水位…...

Mysql 02:集合函数(聚合函数)查询全解——COUNT/SUM/AVG/MAX/MIN 实战指南

在 MySQL 中,集合函数(也叫聚合函数) 是对一组数据进行统计计算的核心工具,常用于数据汇总、报表生成、分组统计等场景。本文将围绕图片中的 5 大核心集合函数,从语法、用法、代码示例三个维度,带你彻底掌握…...

RSA2 - Writeup by AI

RSA2 - Writeup by AI 题目信息项目内容题目来源Bugku CTF题目类型Crypto (密码学)考点RSA 小指数攻击、Rabin 加密题目描述 给定 RSA 加密参数: 加密指数 e 2模数 N(3072 位)密文 c 要求解密得到 flag。 考点分析 核心知识点 RSA 小指数攻击…...

Qwen3.5-9B-AWQ-4bit多模态落地:制造业设备铭牌识别→型号查询→维保文档匹配

Qwen3.5-9B-AWQ-4bit多模态落地:制造业设备铭牌识别→型号查询→维保文档匹配 1. 制造业设备管理的痛点与解决方案 在制造业设备管理中,设备铭牌识别、型号查询和维保文档匹配是三个关键但繁琐的环节。传统方式需要人工拍照、记录铭牌信息,…...

【小白友好】Qwen2.5-VL-7B-Instruct快速上手:无需代码的图文智能问答工具

Qwen2.5-VL-7B-Instruct快速上手:无需代码的图文智能问答工具 1. 工具简介 Qwen2.5-VL-7B-Instruct是一款基于阿里通义千问多模态大模型的视觉交互工具,专为RTX 4090显卡优化。它最大的特点是完全可视化操作,无需编写任何代码就能实现强大的…...

Qt6 + OpenGL 3.3 渲染环境搭建全指南:从空白窗口到专属渲染画布的优雅实现

✨ Qt6 OpenGL 3.3 渲染环境搭建全指南:从空白窗口到专属渲染画布的优雅实现📌 前置环境准备🔧 第一步:创建Qt Widget Application 工程🎨 第二步:界面元素搭建与QSS样式美化2.1 核心界面元素搭建2.2 QSS样…...

收藏!从Prompt到Harness,AI工程升级三步搞定大模型应用

本文阐述了AI工程从关注Prompt到Context再到Harness的演进过程。Prompt工程负责明确任务指令,Context工程负责提供准确有效的信息供给,而Harness工程则关注AI在系统中的可靠执行与治理。三者并非替代关系,而是嵌套协作,共同推动AI…...

用快马平台5分钟构建qoderwork理念下的待办事项应用原型

最近在研究qoderwork这个概念,简单来说就是通过AI辅助快速把想法变成可运行的代码原型。正好用InsCode(快马)平台试了下做个待办事项应用,整个过程比想象中顺畅很多,分享下具体实现思路。 整体框架搭建 首先确定基础HTML结构,分为…...

北京联通IPTV组播配置实战:OpenWRT与udpxy的完美结合

1. 为什么需要OpenWRTudpxy方案 家里换了新电视后,突然想把闲置的北京联通IPTV利用起来。传统机顶盒接线麻烦不说,还占用了宝贵的HDMI接口。经过实测,用OpenWRT路由器配合udpxy插件转换组播信号,才是真正的"一劳永逸"解…...

Czkawka:用Rust构建的开源存储清理工具全解析

Czkawka:用Rust构建的开源存储清理工具全解析 【免费下载链接】czkawka Multi functional app to find duplicates, empty folders, similar images etc. 项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka 一、场景痛点:当代存储管理的…...

Wan2.2-T2V-A5B常见错误排查:运行失败、生成卡顿的解决方法

Wan2.2-T2V-A5B常见错误排查:运行失败、生成卡顿的解决方法 1. 问题概述与快速诊断 Wan2.2-T2V-A5B作为一款轻量级文本到视频生成模型,虽然在资源消耗和响应速度上具有优势,但在实际使用过程中仍可能遇到运行失败或生成卡顿的问题。这些问题…...