pandas的数据结构
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,Pandas的数据结构import pandas as pdPandas有两个最主要也是最重要的数据结构:Series和DataFrameSeriesSeries是一种类似于一维数组的对象,由一组数据
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
网络安全法律法规的发展
加载物品数据库
中科创达去做软件开发怎么样
协同办公管理软件开发
西邮网络安全好就业吗
软件开发项目计划书格式
网络安全靶场网址
部队网络安全法纪警示教育新闻
数据库如何开放外网访问
控制系统软件开发公司
河北信息网络安全案件
软件开发需要啥cpu
服务器远程管理系统kvm
来宾市捷弘软件开发有限公司
数据库的表性别类型
趣配音服务器
服务器在韩国如何连接
互联网营销柒云洞科技
热血街篮服务器维护多久
连接数据库增删改查
雨花台区互联网科技产业园
服务器设备备件清单包含哪些东西
跟网络安全有关的电视剧
网络安全连接是什么意思
数据库设计的六个步骤为
数据科学与数据库技术期刊
软件开发的两大范型
服务器添加功能
网络安全素养ppt
青年网络安全演讲