Python 数据处理入门:掌握 DataFrame
要掌握 Python 中的 DataFrame,了解如何创建、操作和分析这种数据结构是非常重要的。DataFrame 是 pandas 库中的一个核心数据结构,类似于电子表格或 SQL 表格,它使数据操作方便且高效。以下是关于 DataFrame 的基础知识和一些常见操作:
1. 安装 pandas 库
首先,确保你已经安装了 pandas 库。如果没有安装,可以使用以下命令进行安装:
pip install pandas
2. 创建 DataFrame
DataFrame 可以从多种数据结构创建,比如字典、列表、NumPy 数组等。以下是一些创建 DataFrame 的方法:
- 从字典创建:
import pandas as pd
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'San Francisco', 'Los Angeles']
}
df = pd.DataFrame(data)
print(df)
- 从列表创建:
data = [['Alice', 25, 'New York'], ['Bob', 30, 'San Francisco'], ['Charlie', 35, 'Los Angeles']]
df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df)
3. 查看 DataFrame
查看 DataFrame 的一些常用方法包括:
head()
和tail()
:查看 DataFrame 的前几行或后几行数据。
print(df.head()) # 默认前5行
print(df.tail()) # 默认后5行
info()
:获取 DataFrame 的简要信息。
print(df.info())
describe()
:获取数值列的统计信息。
print(df.describe())
4. 访问和修改数据
- 使用列名访问数据:
print(df['Name'])
- 使用
loc
和iloc
进行行列访问:
# 按行标签访问
print(df.loc[0])
# 按位置访问
print(df.iloc[0])
- 修改数据:
df.at[0, 'Age'] = 26 # 修改特定单元格
df['Salary'] = [50000, 60000, 70000] # 添加新列
5. 数据清洗和操作
- 处理缺失值:
df.dropna() # 删除包含NaN的行
df.fillna(0) # 用0填充NaN
- 数据筛选:
# 筛选出 Age 大于 28 的行
filtered_data = df[df['Age'] > 28]
print(filtered_data)
- 数据排序:
sorted_df = df.sort_values(by='Age', ascending=False)
print(sorted_df)
6. 数据聚合和分组
- 使用
groupby()
进行分组:
grouped = df.groupby('City')['Age'].mean()
print(grouped)
7. 合并和连接 DataFrames
- 使用
concat()
和merge()
:
df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})
df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})
# 合并 DataFrame
result = pd.concat([df1, df2])
print(result)
# 类似 SQL 的合并
merged_df = pd.merge(df1, df2, on='A', how='outer')
print(merged_df)
8. 保存和加载 DataFrame
- 保存为 CSV:
df.to_csv('output.csv', index=False)
- 从 CSV 加载:
df = pd.read_csv('output.csv')
掌握这些基础的 DataFrame 操作后,你可以更高效地处理和分析数据,为后续的深层次分析和机器学习做好准备。pandas 是一个功能强大的工具,深入学习它将帮助你在数据科学领域中走得更远。