返回

在Python和Pandas中按日期列分组并汇总数据:巧妙技巧

Office技巧

  1. 导入必要的库
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中按日期列分组并汇总数据的多种巧妙技巧。这些技巧不仅能帮助您高效处理数据,还能为您提供更深入的数据分析洞察。