在 pandas 中保留列 while groupby(periodindex) df

Keep columns while groupby(periodindex) df in pandas

我想保留 df 具有的其他列

df=df.groupby(pd.PeriodIndex(df['date'], freq='M'))['Close/Last'].mean().reset_index()

如何在 df 中保留其他列?

我认为 .agg() 非常适合这里:

记得import numpy as np

而不是:

df=df.groupby(pd.PeriodIndex(df['date'], freq='M'))['Close/Last'].mean().reset_index()

试试这个:

df=df.groupby(pd.PeriodIndex(df['date'], freq='M')).agg({'Close/Last': (np.mean),'Volume':'first','Name':'first'})

.agg() 允许您选择如何处理列(应用函数),但如果您只想保留它们,请使用 .agg({'col1': 'first', 'col2': 'first', ...} 等等