Pandas 是一个用于数据操作和分析的 Python 库,广泛应用于数据科学和数据分析领域。Pandas 提供了强大的数据结构和函数,用于简化数据处理任务。以下是 Pandas 的主要概念和功能用法:
主要概念
- Series:
 
- 一维数组,与 NumPy 的一维数组类似,但具有轴标签(可以是数字、字符串等)。
 - 创建:
pd.Series(data, index=index) 
   import pandas as pd
   s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
   print(s)
- DataFrame:
 
- 二维表格数据结构,有行和列标签。
 - 创建:
pd.DataFrame(data, index=index, columns=columns) 
   data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]}
   df = pd.DataFrame(data)
   print(df)
主要功能和用法
- 数据导入与导出:
 
- 从 CSV 文件导入:
pd.read_csv('file.csv') - 导出到 CSV 文件:
df.to_csv('file.csv', index=False) 
   df = pd.read_csv('data.csv')
   df.to_csv('output.csv', index=False)
- 数据查看与检查:
 
- 查看前几行:
df.head() - 查看数据维度:
df.shape - 查看列名:
df.columns - 基本统计信息:
df.describe() 
   print(df.head())
   print(df.shape)
   print(df.columns)
   print(df.describe())
- 数据选择与过滤:
 
- 按列选择:
df['column_name']或df.column_name - 按行选择:
df.loc[index](按标签)或df.iloc[index](按位置) - 条件筛选:
df[df['column_name'] > value] 
   age_series = df['age']
   row = df.loc[0]
   filtered_df = df[df['age'] > 30]
- 数据清洗:
 
- 处理缺失值:
df.dropna()(删除缺失值)或df.fillna(value)(填充缺失值) - 删除重复值:
df.drop_duplicates() - 重命名列:
df.rename(columns={'old_name': 'new_name'}) 
   df_clean = df.dropna()
   df_clean = df.fillna(0)
   df_clean = df.drop_duplicates()
   df_clean = df.rename(columns={'name': 'full_name'})
- 数据操作:
 
- 添加新列:
df['new_column'] = value - 删除列:
df.drop('column_name', axis=1) - 数据分组:
df.groupby('column_name').mean() - 数据合并:
pd.concat([df1, df2])或pd.merge(df1, df2, on='key_column') 
   df['new_age'] = df['age'] + 5
   df = df.drop('age', axis=1)
   grouped_df = df.groupby('name').mean()
   df_merged = pd.merge(df1, df2, on='id')
- 数据可视化:
 
- 使用 Pandas 内置的绘图功能(基于 Matplotlib):
df.plot() 
   import matplotlib.pyplot as plt
   df['age'].plot(kind='hist')
   plt.show()
示例代码
import pandas as pd
# 创建 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]}
df = pd.DataFrame(data)
# 查看数据
print(df.head())
# 筛选数据
filtered_df = df[df['age'] > 30]
# 添加新列
df['age_next_year'] = df['age'] + 1
# 数据分组
grouped_df = df.groupby('name').mean()
# 输出到 CSV 文件
df.to_csv('output.csv', index=False)
print(filtered_df)
print(grouped_df)
Pandas 的这些功能使得数据处理和分析更加高效和简便。