
Pandas 是一个广受欢迎的Python库,用于数据操作和分析。它为处理结构化数据(如表格和时间序列)提供了工具,是数据预处理的核心工具之一。
无论是清洗数据、查看数据集,还是为机器学习准备数据,Pandas 都是你的首选库。本文将介绍 Pandas 的基础知识,并深入探讨初学者必备的 10 个核心命令。
Pandas 是一个开源的 Python 库,专为数据操作和分析设计,构建于另一数据计算库 NumPy 的基础之上。
Pandas 提供了两种主要的数据结构:
1. Series:一种一维带标签的数组,可以容纳任意数据类型(如整数、字符串、浮点数)。
2. DataFrame:一种二维带标签的数据结构,类似于电子表格或 SQL 表格,其中数据以行和列的形式组织。
安装 Pandas
在使用 Pandas 之前,需要通过 pip 安装:
pip install pandas
安装完成后,在 Python 脚本中导入它:
import pandas as pd
这里的别名 `pd` 是惯例,用于简化 Pandas 命令的书写。
核心命令一览
1. 加载数据
在使用数据之前,首先需要通过 `read_csv()` 函数将其加载到 Pandas DataFrame 中:
data = pd.read_csv('data.csv')
print(data.head())
– `read_csv(‘data.csv’)`:将 CSV 文件读取为 DataFrame。
– `head()`:显示 DataFrame 的前五行。
这是开始任何数据预处理任务的关键步骤。
2. 查看数据
了解数据集结构可以使用以下命令:
– `head(n)`:查看 DataFrame 的前 n 行。
– `tail(n)`:查看 DataFrame 的后 n 行。
– `info()`:获取 DataFrame 的摘要,包括列名、非空值数量和数据类型。
– `describe()`:获取数值列的统计摘要。
示例:
print(data.info())
print(data.describe())
3. 选择数据
选择特定行或列的方法如下:
– 选择单列:
column_data = data['ColumnName']
– 选择多列:
selected_data = data[['Column1', 'Column2']]
– 使用切片选择行:
rows = data[10:20] # 第 10 到第 19 行
– 使用 `loc` 或 `iloc` 同时选择行和列:
# 按标签(loc)
subset = data.loc[0:5, ['Column1', 'Column2']]
# 按索引位置(iloc)
subset = data.iloc[0:5, 0:2]
4. 筛选数据
通过条件筛选行:
filtered_data = data[data['ColumnName'] > 50]
使用逻辑运算符组合多个条件:
filtered_data = data[(data['Column1'] > 50) & (data['Column2'] < 100)]
5. 添加或修改列
创建新列或修改已有列:
– 添加新列:
data['NewColumn'] = data['Column1'] + data['Column2']
– 修改现有列:
data['Column1'] = data['Column1'] * 2
6. 处理缺失数据
实际数据集中经常会有缺失值,Pandas 提供以下方法:
– 检查缺失值:
print(data.isnull().sum())
– 删除含缺失值的行或列:
data = data.dropna()
data = data.dropna(axis=1)
– 填充缺失值:
data['ColumnName'] = data['ColumnName'].fillna(0)
data['ColumnName'] = data['ColumnName'].fillna(data['ColumnName'].mean())
7. 排序数据
使用 `sort_values()` 函数按一列或多列排序:
sorted_data = data.sort_values(by='ColumnName', ascending=True)
按多列排序:
sorted_data = data.sort_values(by=['Column1', 'Column2'], ascending=[True, False])
8. 分组数据
`groupby()` 函数用于分组数据并执行聚合操作:
grouped_data = data.groupby('ColumnName')['AnotherColumn'].sum()
常用聚合函数包括:
– `sum()`:求和。
– `mean()`:求平均值。
– `count()`:计算非空值数量。
示例:
grouped_data = data.groupby('Category')['Sales'].mean()
9. 合并和连接 DataFrame
合并多个 DataFrame 的方法:
– 拼接:
combined_data = pd.concat([data1, data2], axis=0)
– 合并:
merged_data = pd.merge(data1, data2, on='KeyColumn')
– 连接:
joined_data = data1.join(data2, how='inner')
10. 导出数据
数据处理完成后,可以使用 `to_csv()` 函数保存:
data.to_csv('processed_data.csv', index=False)
此命令将 DataFrame 保存为 CSV 文件并移除索引列。你还可以导出为其他格式,例如 Excel、JSON 或 SQL。
Pandas 是数据预处理中不可或缺的工具,提供了丰富的函数用于操作和分析数据。
本文介绍的 10 个命令为初学者打下了坚实的基础。随着实践和深入探索,你将发现 Pandas 的强大潜力。











