pandas的数据结构
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,Pandas的数据结构import pandas as pdPandas有两个最主要也是最重要的数据结构:Series和DataFrameSeriesSeries是一种类似于一维数组的对象,由一组数据
千家信息网最后更新 2026年11月04日pandas的数据结构
Pandas的数据结构
import pandas as pdPandas有两个最主要也是最重要的数据结构: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: int642. 获取数据和索引
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])运行结果:
10184. 索引与数据的对应关系不被运算结果影响
示例代码:
# 索引与数据的对应关系不被运算结果影响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: bool5. 通过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: float64DataFrame
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.9448462. 通过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 ITCast3. 通过列索引获取列数据(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 75. 删除列
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安全错误
数据库的锁怎样保障安全
互联网科技园
广东猪兼强互联网科技有限公司
深圳九邦互联网科技有限公司
重生之互联网科技帝国
疫情对互联网科技公司影响
互联网金融 科技
青岛互联网科技公司
互联网科技小贷
时间互联网络科技
四个字互联网科技公司取名
互联网科技产业特征
苏州铭阳互联网科技有限公司
电子科技大学互联网创业大赛
国大互联网教育科技有限公司工作
晋城互联网科技
明优互联网科技有限公司
21世纪互联网科技成就
陕西九四连强互联网科技有限公司
恒生科技指数 中概互联网
陕西彩京云互联网科技有限公司
电子科技大学互联网
互联网 科技馆
全球顶尖互联网科技公司
港股科技和互联网
花神(南京)互联网科技有限公司
科技类公司包括互联网吗
山东星卡互联网科技有限公司官网
上海钢联属于互联网科技股吗
互联网安防科技感
众联互联网络科技