对同一列应用不同的重采样方法(Pandas)

2024-04-25 05:04:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个时间序列,我想对同一列应用不同的函数。在

主栏是重量。我想创建一个df,显示重采样期间的平均重量加上最大值。我知道我可以做到:

df.resample('M', how = {'weight':np.max}, kind='YearEnd')

df1.resample('M', how = {'weight': np.mean}, kind='YearEnd')

这似乎效率低下。在

最佳: df.resample('M', how = {'weight': np.mean, 'weight':np.max}, kind='YearEnd')


Tags: 函数dfnp时间序列meanmaxhow
1条回答
网友
1楼 · 发布于 2024-04-25 05:04:41

试试这个。在

In [23]: df = DataFrame(np.random.randn(100,1),columns=['weight'],index=date_range('20000101',periods=100,freq='MS'))

In [24]: df.resample('A',how=['max','mean'])
Out[24]: 
              weight          
                 max      mean
2000-12-31  1.958570 -0.312230
2001-12-31  1.739518  0.035701
2002-12-31  2.503437  0.169365
2003-12-31  1.115315  0.149279
2004-12-31  2.190617 -0.087536
2005-12-31  1.286224  0.037669
2006-12-31  1.674017  0.147676
2007-12-31  2.107169 -0.064962
2008-12-31 -0.163863 -0.572363

[9 rows x 2 columns]

支持如何作为一个dict我认为不太难,将打开一个关于这个增强的问题:https://github.com/pydata/pandas/issues/6515

相关问题 更多 >