返回
在Python和Pandas中按日期列分组并汇总数据:巧妙技巧
Office技巧
2023-12-09 13:50:07
- 导入必要的库
import pandas as pd
2. 加载数据
df = pd.read_csv('data.csv')
3. 基本按日期分组与汇总
df_grouped = df.groupby('date_column')
df_grouped.sum()
4. 使用聚合函数按日期分组与汇总
df_grouped.agg({'numeric_column': 'sum', 'categorical_column': 'count'})
5. 多列分组与汇总
df_grouped = df.groupby(['date_column', 'category_column'])
df_grouped.agg({'numeric_column': 'sum', 'categorical_column': 'count'})
6. 按日期范围分组与汇总
df_grouped = df.groupby(pd.cut(df['date_column'], bins=3))
df_grouped.agg({'numeric_column': 'sum', 'categorical_column': 'count'})
7. 使用apply()函数按日期分组与自定义汇总
def custom_aggregation(group):
return group['numeric_column'].mean() / group['numeric_column'].max()
df_grouped = df.groupby('date_column')
df_grouped.apply(custom_aggregation)
8. 不同粒度的分组与汇总(多层索引)
df_grouped = df.groupby(['date_column', 'category_column'])
df_grouped.agg({'numeric_column': 'sum'})
9. 分组与汇总后的数据可视化
import matplotlib.pyplot as plt
df_grouped = df.groupby('date_column')
df_grouped['numeric_column'].sum().plot(kind='bar')
plt.show()
10. 高级按日期分组与汇总技巧
10.1 使用resample()函数按不同频率分组与汇总
df_resampled = df.resample('M', on='date_column')
df_resampled.agg({'numeric_column': 'sum', 'categorical_column': 'count'})
10.2 使用pivot_table()函数按日期分组与汇总并透视数据
df_pivoted = df.pivot_table(index='date_column', columns='category_column', values='numeric_column', aggfunc='sum')
结论
通过本教程,您学习了在Python和Pandas中按日期列分组并汇总数据的多种巧妙技巧。这些技巧不仅能帮助您高效处理数据,还能为您提供更深入的数据分析洞察。