Python 数据分析 Pandas
学习Pandas DataFrame的创建和操作 · 难度:高级 · +15XP
Python 数据分析 Pandas
Pandas 是 Python 中最强大的数据分析库,提供了两种核心数据结构:Series(一维标签数组)和 DataFrame(二维表格数据)。Pandas 构建在 NumPy 之上,能够方便地处理结构化数据、时间序列和缺失值,是数据科学领域不可或缺的工具。
创建 DataFrame
import pandas as pd
import numpy as np
# 从字典创建
df = pd.DataFrame({
'姓名': ['张三', '李四', '王五', '赵六'],
'年龄': [25, 30, 35, 28],
'城市': ['北京', '上海', '广州', '深圳'],
'工资': [8000, 12000, 15000, 10000]
})
print(df)
# 从 CSV 文件读取
# df = pd.read_csv('data.csv')
# 从 Excel 读取
# df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
数据查看与筛选
import pandas as pd
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 32, 28, 45],
'salary': [50000, 65000, 55000, 80000]
})
# 查看基本信息
print(df.head(2)) # 前2行
print(df.tail(1)) # 最后1行
print(df.info()) # 数据类型和缺失值信息
print(df.describe()) # 统计摘要
# 数据筛选
print(df[df['age'] > 28]) # 年龄大于28
print(df[df['salary'] > 55000]) # 工资大于55000
print(df[(df['age'] > 25) & (df['salary'] < 70000)]) # 多条件
# 选择特定列
print(df['name'])
print(df[['name', 'salary']])
数据处理操作
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': [1, 2, np.nan, 4],
'B': [5, np.nan, np.nan, 8],
'C': [9, 10, 11, 12]
})
# 处理缺失值
print(df.isnull().sum()) # 统计缺失值数量
df_filled = df.fillna(0) # 用0填充
df_dropped = df.dropna() # 删除含缺失值的行
# 排序
df_sorted = df.sort_values('C', ascending=False)
# 添加新列
df['D'] = df['A'] + df['C']
# 删除列
df = df.drop('D', axis=1)
Pandas 常用操作速查表
| 操作 | 方法 |
|---|---|
| 读取 CSV | pd.read_csv('file.csv') |
| 保存 CSV | df.to_csv('file.csv', index=False) |
| 查看形状 | df.shape |
| 数据类型 | df.dtypes |
| 重命名列 | df.rename(columns={'old': 'new'}) |
| 合并数据 | pd.merge(df1, df2, on='key') |
| 分组统计 | df.groupby('col').mean() |
| 透视表 | df.pivot_table(values, index, columns) |