pandas的数据结构
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,Pandas的数据结构import pandas as pdPandas有两个最主要也是最重要的数据结构:Series和DataFrameSeriesSeries是一种类似于一维数组的对象,由一组数据
千家信息网最后更新 2025年02月04日pandas的数据结构
Pandas的数据结构
import pandas as pd
Pandas有两个最主要也是最重要的数据结构:Series和DataFrame
Series
Series是一种类似于一维数组的对象,由一组数据(各种NumPy数据类型)以及一组与之对应的索引(数据标签)组成。
- 类似于一维数组的对象
- 由数据和索引组成
- 索引(index)在左,数据(values)在右
- 索引是自动创建的
1. 通过list构建Series
ser_obj = pd.Series(range(10))
示例代码:
# 通过list构建Seriesser_obj = pd.Series(range(10, 20))print(ser_obj.head(3))print(ser_obj)print(type(ser_obj))
运行结果
0 101 112 12dtype: int640 101 112 123 134 145 156 167 178 189 19dtype: int64
2. 获取数据和索引
ser_obj.index 和 ser_obj.values
示例代码:
# 获取数据print(ser_obj.values)# 获取索引print(ser_obj.index)
运行结果:
[10 11 12 13 14 15 16 17 18 19]RangeIndex(start=0, stop=10, step=1)
3. 通过索引获取数据
ser_obj[idx]
实例代码:
# 通过索引获取数据print(ser_obj[0])print(ser_obj[8])
运行结果:
1018
4. 索引与数据的对应关系不被运算结果影响
示例代码:
# 索引与数据的对应关系不被运算结果影响print(ser_obj * 2)print(ser_obj > 15)
运行结果:
0 201 222 243 264 285 306 327 348 369 38dtype: int640 False1 False2 False3 False4 False5 False6 True7 True8 True9 Truedtype: bool
5. 通过dict构建Series
示例代码:
year_data = {2001: 17.8, 2002: 20.1, 2003: 16.3}Ser_obj2 = pd.Series(year_data)print(ser_obj2.head())print(ser_obj2.index)
运行结果:
2001 17.82002 20.12003 16.5dtype: float64Int64Index([2001, 2002, 2003], dtype='int64')
name属性
对象名:ser_obj.name
对象索引名:ser_obj.index.name
示例代码:
# name属性ser_obj2.name = 'temp'ser_obj2.index.name = 'year'print(ser_obj2.head())
运行结果:
year2001 17.82002 20.12003 16.5Name: temp, dtype: float64
DataFrame
DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同类型的值。DataFrame既有行索引也有列索引,它可以被看作是由Series组成的字典(共用同一个索引),数据是以二维结构存放的。
- 类似多维数组/表格数据(如,excel, R中的data.frame)
- 每列数据可以是不同的类型
- 索引包括列索引和行索引
1. 通过ndarray构建DataFrame
示例代码:
import numpy as np# 通过ndarray构建DataFramearray = np.random.randn(5, 4)print(array)df_obj = pd.DataFrame(array)print(df_obj.head())
运行结果:
[[ 0.83500594 -1.49290138 -0.53120106 -0.11313932] [ 0.64629762 -0.36779941 0.08011084 0.60080495] [-1.23458522 0.33409674 -0.58778195 -0.73610573] [-1.47651414 0.99400187 0.21001995 -0.90515656] [ 0.56669419 1.38238348 -0.49099007 1.94484598]] 0 1 2 30 0.835006 -1.492901 -0.531201 -0.1131391 0.646298 -0.367799 0.080111 0.6008052 -1.234585 0.334097 -0.587782 -0.7361063 -1.476514 0.994002 0.210020 -0.9051574 0.566694 1.382383 -0.490990 1.944846
2. 通过dict构建DataFrame
示例代码:
# 通过dict构建DataFramedict_data = {'A': 1, 'B': pd.Timestamp('20170426'), 'C': pd.Series(1, index = list(range(4)), dtype = 'float32'), 'D': np.array([3] * 4, dtype = 'int32'), 'E': ["Python", "Java", "C++", "C"], 'F': 'ITCast' }#print dict_datadf_obj2 = pd.DataFrame(dict_data)print(df_obj2)
运行结果:
A B C D E F0 1 2017-04-26 1.0 3 Python ITCast1 1 2017-04-26 1.0 3 Java ITCast2 1 2017-04-26 1.0 3 C++ ITCast3 1 2017-04-26 1.0 3 C ITCast
3. 通过列索引获取列数据(Series类型)
df_obj[col_idx]或df_obj.col_idx
示例代码:
print(df_obj2['A'])print(type(df_obj2['A']))print(df_obj2.A)
运行结果:
0 1.01 1.02 1.03 1.0Name: A, dtype: float640 1.01 1.02 1.03 1.0Name: A, dtype: float64
4. 增加列数据
df_obj[new_col_idx] = data
类似Python的dict添加key-value
示例代码:
df_obj2['G'] = df_obj2['D'] + 4print(df_obj2.head())
运行结果:
A B C D E F G0 1.0 2017-01-02 1.0 3 Python ITCast 71 1.0 2017-01-02 1.0 3 Java ITCast 72 1.0 2017-01-02 1.0 3 C++ ITCast 73 1.0 2017-01-02 1.0 3 C ITCast 7
5. 删除列
del df_obj[col_idx]
示例代码:
del(df_obj2['G'])print(df_obj2.head())
运行结果:
A B C D E F0 1.0 2017-01-02 1.0 3 Python ITCast1 1.0 2017-01-02 1.0 3 Java ITCast2 1.0 2017-01-02 1.0 3 C++ ITCast3 1.0 2017-01-02 1.0 3 C ITCast
数据
索引
结果
代码
运行
示例
结构
对象
类型
C++
数据结构
数组
列索
不同
属性
表格
一维
影响
运算
有序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
沈阳驻场汇中宝软件开发
猎聘网络安全工程师
素材文件管理服务器
网络安全周宣传ppt
梦幻2020服务器现在还火吗
服务器管理记本电脑版
神通数据库官网下载
苏州物联网智慧工地软件开发
steam的崩坏是什么服务器
宝山区工商软件开发价格优惠
完全免费的软件开发平台
分析型数据库ads
大数据是否能够替代数据库
物联网 sql数据库
怎么让自己打开数据库
恩施串口服务器企业
网络安全会议怎么开
数据库前三名
学完网络安全工程要多久
视频播放器软件开发步骤
烧麦网络技术有限公司
美国NHANES数据库 文献
查看服务器中的所有数据库
服务器没d盘
哈工程 网络安全技术书
数据库rid s是什么
四川省四川省网络技术培训中心
对软件开发人员的评价
bma服务器管理
软件开发适合什么考核方式