Pandas 常用操作指南

Pandas 是一个强大的数据分析库,广泛用于数据科学和数据处理。它提供了高效的数据结构和数据分析工具,使得数据的操作和分析变得简单直观。本文将详细介绍一些常用的 Pandas 操作,并通过示例展示如何使用这些功能。

1. 创建 DataFrame 和 Series

1.1 创建 Series

import pandas as pd

# 创建一个 Series
data = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print("Series:")
print(data)

1.2 创建 DataFrame

# 创建一个 DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print("\nDataFrame:")
print(df)

2. 数据选择和过滤

2.1 选择列

# 选择单列
print("\nSelect single column:")
print(df['Name'])

# 选择多列
print("\nSelect multiple columns:")
print(df[['Name', 'City']])

2.2 选择行

# 通过行索引选择
print("\nSelect row by index:")
print(df.loc[1])  # 选择第二行(Bob)

# 通过条件过滤
print("\nFilter rows where Age > 28:")
print(df[df['Age'] > 28])

3. 数据排序

3.1 按列排序

# 按年龄排序
sorted_df = df.sort_values(by='Age')
print("\nDataFrame sorted by Age:")
print(sorted_df)

4. 数据分组

4.1 分组并计算统计值

# 按城市分组并计算平均年龄
grouped = df.groupby('City')['Age'].mean()
print("\nAverage Age by City:")
print(grouped)

5. 数据合并

5.1 合并 DataFrame

# 创建另一个 DataFrame
data2 = {
    'Name': ['Alice', 'Bob'],
    'Salary': [70000, 80000]
}
df2 = pd.DataFrame(data2)

# 合并 DataFrame
merged_df = pd.merge(df, df2, on='Name', how='inner')
print("\nMerged DataFrame:")
print(merged_df)

6. 数据清洗

6.1 处理缺失值

# 创建一个包含缺失值的 DataFrame
data_with_nan = {
    'Name': ['Alice', 'Bob', None],
    'Age': [25, None, 35]
}
df_nan = pd.DataFrame(data_with_nan)

# 填充缺失值
df_nan.fillna({'Name': 'Unknown', 'Age': df_nan['Age'].mean()}, inplace=True)
print("\nDataFrame after filling NaN values:")
print(df_nan)

6.2 删除重复值

# 创建一个包含重复值的 DataFrame
data_with_duplicates = {
    'Name': ['Alice', 'Bob', 'Alice'],
    'Age': [25, 30, 25]
}
df_duplicates = pd.DataFrame(data_with_duplicates)

# 删除重复值
df_duplicates.drop_duplicates(inplace=True)
print("\nDataFrame after removing duplicates:")
print(df_duplicates)

7. 数据导入和导出

7.1 导入 CSV 文件

# 从 CSV 文件导入数据
# df_from_csv = pd.read_csv('data.csv')  # 取消注释以读取实际文件
# print("\nDataFrame from CSV:")
# print(df_from_csv)

7.2 导出到 CSV 文件

# 导出 DataFrame 到 CSV 文件
# df.to_csv('output.csv', index=False)  # 取消注释以导出实际文件

8. 数据类型转换

8.1 转换数据类型

# 创建一个 DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': ['25', '30', '35']  # 注意:年龄是字符串类型
}
df = pd.DataFrame(data)

# 转换 Age 列的数据类型
df['Age'] = df['Age'].astype(int)
print("\nDataFrame after converting Age to integer:")
print(df)

9. 高级操作

9.1 使用 apply() 函数

# 使用 apply() 函数对列进行操作
df['Age Plus One'] = df['Age'].apply(lambda x: x + 1)
print("\nDataFrame after applying function to Age:")
print(df)

9.2 使用 pivot_table() 函数

# 创建一个示例 DataFrame
data = {
    'Date': ['2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02'],
    'Category': ['A', 'B', 'A', 'B'],
    'Values': [10, 20, 30, 40]
}
df_pivot = pd.DataFrame(data)

# 创建透视表
pivot_table = df_pivot.pivot_table(values='Values', index='Date', columns='Category', aggfunc='sum')
print("\nPivot Table:")
print(pivot_table)

总结

Pandas 是一个功能强大且灵活的数据分析库,适用于数据清洗、处理和分析。通过本文的示例,您可以看到 Pandas 提供了丰富的数据操作功能,包括数据选择、过滤、排序、分组、合并、清洗、导入导出等。掌握这些基本操作将有助于您在数据科学和数据分析中的工作。希望这篇博客能帮助您更好地理解和使用 Pandas!

更多推荐