15个Pandas代码片段助力数据分析
大家好,Python的Pandas库是数据分析的基本工具,提供了强大的数据操作和分析功能。本文将探讨15个高级Pandas代码片段,这些代码片段将帮助简化数据分析任务,并从数据集中提取有价值的见解。
1. 过滤数据
import pandas as pd
# 创建一个DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 35, 40]}
df = pd.DataFrame(data)
# 过滤年龄大于30的记录
filtered_df = df[df['Age'] > 30]
print(filtered_df)
2. 分组和聚合数据
# 按列分组并计算平均值
grouped = df.groupby('Age').mean()
print(grouped)
3. 处理缺失数据
# 检查缺失值
missing_values = df.isnull().sum()
# 使用特定值填充缺失值
df['Age'].fillna(0, inplace=True)
4. 对列应用函数
# 对列应用自定义函数
df['Age'] = df['Age'].apply(lambda x: x * 2)
5. 连接DataFrame
# 连接两个DataFrame
df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})
df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})
result = pd.concat([df1, df2], ignore_index=True)
print(result)
6. 合并DataFrame
# 合并两个DataFrame
left = pd.DataFrame({'key': ['A', 'B', 'C'], 'value': [1, 2, 3]})
right = pd.DataFrame({'key': ['B', 'C', 'D'], 'value': [4, 5, 6]})
merged = pd.merge(left, right, on='key', how='inner')
print(merged)
7. 透视表
# 创建数据透视表
pivot_table = df.pivot_table(index='Name', columns='Age', values='Value')
print(pivot_table)
8. 处理日期时间数据
# 将列转换为DateTime类型
df['Date'] = pd.to_datetime(df['Date'])
9. 重塑数据
# 将DataFrame进行融合
melted_df = pd.melt(df, id_vars=['Name'], value_vars=['A', 'B'])
print(melted_df)
10. 处理分类数据
# 对分类变量进行编码
df['Category'] = df['Category'].astype('category')
df['Category'] = df['Category'].cat.codes
11. 数据采样
# 从DataFrame中随机抽取行
sampled_df = df.sample(n=2)
12. 计算累积和
# 计算累积和
df['Cumulative_Sum'] = df['Values'].cumsum()
13. 去除重复值
# 去除重复行
df.drop_duplicates(subset=['Column1', 'Column2'], keep='first', inplace=True)
14. 创建虚拟变量
# 为分类数据创建虚拟变量
dummy_df = pd.get_dummies(df, columns=['Category'])
15. 导出数据
# 将DataFrame导出为CSV文件
df.to_csv('output.csv', index=False)
掌握这15个Pandas代码片段,将极大增强数据操作和分析能力,将其纳入工作流程中,可以更加高效地处理和探索数据集。