pandas¶
Pandas 是一个用于数据分析的 Python 库,它提供了高效的数据结构和操作工具,特别适合处理表格型或结构化数据。Pandas 的核心数据结构是 Series
和 DataFrame
,它们分别用于处理一维和二维数据。下面是对 Pandas 的详细解析。
一、Pandas 的基本数据结构¶
1.1 Series¶
Series
是一种一维的数据结构,类似于 Python 中的列表,但它带有索引。Series
可以存储任何数据类型(整数、字符串、浮点数、对象等)。
import pandas as pd
# 创建一个 Series
s = pd.Series([10, 20, 30, 40, 50], index=['a', 'b', 'c', 'd', 'e'])
print(s)
index
是 Series
的索引标签,默认是从 0 开始的整数。
1.2 DataFrame¶
DataFrame
是 Pandas 中最重要的数据结构,它是一个二维的表格型数据结构,类似于 Excel 表格。DataFrame
由多个 Series
组成,每一列是一组数据,每一行是一个数据记录。
# 创建一个 DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df)
DataFrame
的每一列都有一个列标签(Name
, Age
, City
),每一行都有一个行索引(0, 1, 2)。
二、数据导入与导出¶
2.1 从文件读取数据¶
Pandas 可以轻松地从各种文件格式(如 CSV、Excel、SQL 数据库)中读取数据。
2.1.1 从 CSV 文件读取¶
2.1.2 从 Excel 文件读取¶
2.2 导出数据到文件¶
同样,Pandas 可以将数据导出到多种文件格式。
2.2.1 导出到 CSV 文件¶
2.2.2 导出到 Excel 文件¶
三、数据查看与选取¶
3.1 数据查看¶
3.1.1 查看前几行数据¶
3.1.2 查看数据的基本信息¶
3.1.3 查看索引、列名和数据类型¶
3.2 数据选取¶
3.2.1 选取列¶
3.2.2 选取行¶
3.2.3 条件筛选¶
四、数据操作与处理¶
4.1 数据清洗¶
4.1.1 处理缺失值¶
4.1.2 数据去重¶
4.1.3 数据类型转换¶
4.2 数据操作¶
4.2.1 添加和删除列¶
4.2.2 数据排序¶
4.2.3 分组与聚合¶
4.3 数据合并¶
4.3.1 数据连接(Concatenation)¶
df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})
df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})
result = pd.concat([df1, df2], axis=0) # 纵向连接
4.3.2 数据合并(Merging)¶
left = pd.DataFrame({'key': ['K0', 'K1'], 'A': ['A0', 'A1']})
right = pd.DataFrame({'key': ['K0', 'K1'], 'B': ['B0', 'B1']})
result = pd.merge(left, right, on='key') # 按照key列合并
五、时间序列处理¶
Pandas 提供了强大的时间序列功能,可以处理带有时间戳的数据。
5.1 转换为日期时间格式¶
5.2 设置日期为索引¶
5.3 重采样数据¶
六、数据可视化¶
Pandas 与 Matplotlib 无缝集成,能够方便地进行数据可视化。
6.1 绘制基本图形¶
6.2 绘制折线图¶
七、其他高级功能¶
7.1 透视表¶
Pandas 提供了透视表功能,可以轻松地总结数据。
pivot_table = df.pivot_table(values='Age', index='Name', columns='City', aggfunc='mean')
print(pivot_table)
7.2 数据管道(Pipeline)¶
管道允许链式操作多个函数,便于代码的可读性和维护性。
Pandas 是一个功能强大的工具,适用于数据科学和分析的各个阶段。从数据导入、清洗、操作到可视化和导出,Pandas 都能为你提供高效、直观的解决方案。这个详解涵盖了 Pandas 的基础和高级功能,帮助你掌握数据处理的各项技能。