Pandas是一个强大的Python数据分析库,提供了快速、灵活和表达式丰富的数据结构,旨在使“关系”或“标签”数据的处理既简单又直观。它是基于NumPy库构建的,可以用来处理从简单到复杂的数据分析任务。Pandas主要包含两种类型的数据结构:Series
和DataFrame
。更多实战案例欢迎关注 每天在csdn更新两篇数据分析文章
Series
Series
是一种一维标签化数组结构,可以存储任何数据类型(整数、字符串、浮点数、Python对象等)。每个Series
对象都有一个索引,索引与数据之间的对应关系非常紧密。
使用案例:创建Series
import pandas as pd
data = pd.Series([1, 3, 5, 7, 9])
print(data)
DataFrame
DataFrame
是一个二维标签化数据结构,可以看作是具有共同索引的Series
集合。DataFrame
是数据科学中最常用的Pandas对象,支持多种类型的数据,并且可以轻松地进行行列的增加和删除。
使用案例:创建DataFrame
import pandas as pd
data = {
"Name": ["John", "Anna", "Peter", "Linda"],
"Age": [28, 34, 29, 32],
"City": ["New York", "Paris", "Berlin", "London"]
}
df = pd.DataFrame(data)
print(df)
核心模块
1. 数据读取与写入 (pandas.io
)
Pandas支持多种格式的数据读取与写入,包括CSV、Excel、SQL数据库和JSON等。
使用案例:读取CSV文件
df = pd.read_csv("path/to/your/file.csv")
使用案例:写入Excel文件
df.to_excel("output.xlsx", sheet_name="Sheet1")
2. 数据清洗 (pandas.DataFrame
和pandas.Series
方法)
数据清洗包括处理缺失数据、删除或填充NaN值、类型转换等。
使用案例:处理缺失数据
# 删除包含缺失值的行
df.dropna(inplace=True)
# 填充缺失值
df.fillna(value=0, inplace=True)
3. 数据筛选、排序和聚合
Pandas提供了强大的索引功能,以及排序和聚合(如分组、求和等)的方法。
使用案例:筛选数据
# 筛选年龄大于30的记录
df_filtered = df[df["Age"] > 30]
使用案例:排序
# 按年龄排序
df_sorted = df.sort_values(by="Age")
使用案例:分组和聚合
# 按城市分组并计算每个城市的平均年龄
df_grouped = df.groupby("City").Age.mean()
4. 数据合并与重塑 (pandas.merge
, pandas.concat
, pandas.pivot
)
Pandas提供了多种数据合并和重塑的工具,这些工具提供了灵活的数据整合能力。
使用案例:合并DataFrame
# 使用merge合并两个DataFrame
df_merged = pd.merge(df1, df2, on="key")
使用案例:重塑和透视
# 将数据重塑为透视表
df_pivot = df.pivot_table(index="City", columns="Name", values="Age")
总结
Pandas是Python数据分析中不可或缺的工具,它的灵活性和强大功能使得处理数据变得简单高效。从数据的基本处理到复杂的数据操作,Pandas都能够提供支持。掌握Pandas不仅能够提高数据分析的效率,还能够帮助我们从数据中发现更深层次的信息和洞见。通过上述案例,我们可以看到,无论是数据的读取与写入、清洗、筛选、排序、聚合还是合并与重塑,Pandas都提供了丰富的方法来满足不同的需求。随着实践的深入,能够更加灵活地运用这些工具,解锁数据分析的更多可能。