一周学会Pandas2 Python数据处理与分析-Pandas2二维数据结构-DataFrame

锋哥原创的Pandas2 Python数据处理与分析 视频教程:

2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

DataFrame是一个二维表格型数据结构。每列可以是不同的值类型,既有行索引index,也有列索引columns,可以看成是由Series组成的字典。

DataFrame创建基本格式:

复制代码
df = pd.DataFrame(data=None, index=None, columns=None)

参数说明:

  • data:具体数据,结构化或同构的ndarray、可迭代对象、字典或DataFrame。

  • index:索引,类似数组的对象,支持解包,如果没有指定,会 自动生成RangeIndex (0, 1, 2, ..., n)。

  • columns:列索引、表头,如果没有指定,会自动生成 RangeIndex (0, 1, 2, ..., n)。

实际开发,我们还是从数据文件(如Excel,CSV)中读取数据。不过,了解这些知识可以让我们更好的掌握DataFrame数据机制。

使用字典方式定义DataFrame

示例:

复制代码
import pandas as pd
​
d = {'学号': [1, 2, 3],
     '姓名': ['张三', '李四', '王五'],
     '语文': [99, 88, 77],
     '数学': [44, 55, 55],
     '英语': [88, 55, 66]}
df = pd.DataFrame(d)
print(df)
print(df.dtypes)
print(df.columns) # 列索引
print(df.index) # 行索引

运行输出:

复制代码
   学号  姓名  语文  数学  英语
0   1  张三  99  44  88
1   2  李四  88  55  55
2   3  王五  77  55  66
学号     int64
姓名    object
语文     int64
数学     int64
英语     int64
dtype: object
Index(['学号', '姓名', '语文', '数学', '英语'], dtype='object')
RangeIndex(start=0, stop=3, step=1)

从DataFrame中查询Series

如果只查询一行或者一列,返回的就是Series对象,如果查询的是多行,多列,返回的还是DataFrame。

复制代码
print(df['姓名'], type(df['姓名']))  # 查询一列,返回Series
print(df['姓名'][1])
print(df[['姓名', '语文']], type(df[['姓名', '语文']]))  # 查询两列,返回DataFrame
print(df.loc[1], type(df.loc[1]))  # 查询一行,返回Series
print(df.loc[1]['姓名'], df.loc[1]['语文'])
print(df.loc[[0, 2]], type(df.loc[[0, 2]]))  # 查询多行,返回DataFrame
print(df.loc[1:2])  # 查询多行,支持切片

运行结果:

复制代码
**********查询数据****************
0    张三
1    李四
2    王五
Name: 姓名, dtype: object <class 'pandas.core.series.Series'>
  
李四
  
   姓名  语文
0  张三  99
1  李四  88
2  王五  77 <class 'pandas.core.frame.DataFrame'>
  
学号     2
姓名    李四
语文    88
数学    55
英语    55
Name: 1, dtype: object <class 'pandas.core.series.Series'>
  
李四 88
  
   学号  姓名  语文  数学  英语
0   1  张三  99  44  88
2   3  王五  77  55  66 <class 'pandas.core.frame.DataFrame'>
  
   学号  姓名  语文  数学  英语
1   2  李四  88  55  55
2   3  王五  77  55  66
相关推荐
&zzz31 分钟前
Python生成exe
开发语言·python
Python×CATIA工业智造32 分钟前
基于PySide6与pycatia的CATIA绘图比例智能调节工具开发全解析
python·pycharm·自动化·catia二次开发
vsropy3 小时前
matlab安装python API 出现Invalid version: ‘R2022a‘,
开发语言·python
atec20004 小时前
使用uv管理python项目环境
开发语言·python·uv
zybishe6 小时前
免费送源码:Java+ssm+MySQL 酒店预订管理系统的设计与实现 计算机毕业设计原创定制
java·大数据·python·mysql·微信小程序·php·课程设计
农民小飞侠7 小时前
ubuntu 安装pyllama教程
linux·python·ubuntu
橘猫云计算机设计8 小时前
基于Python电影数据的实时分析可视化系统(源码+lw+部署文档+讲解),源码可白嫖!
数据库·后端·python·信息可视化·小程序·毕业设计
寒页_8 小时前
2025年第十六届蓝桥杯省赛真题解析 Java B组(简单经验分享)
java·数据结构·经验分享·算法·蓝桥杯
蹦蹦跳跳真可爱5898 小时前
Python----机器学习(基于贝叶斯的鸢尾花分类)
python·机器学习·分类
smile-yan8 小时前
拓扑排序 —— 2. 力扣刷题207. 课程表
数据结构·算法·图论·拓扑排序