假设我有一个数据帧,如下所示:
In [1]: test_dup_df
Out[1]:
exe_price exe_vol flag
2008-03-13 14:41:07 84.5 200 yes
2008-03-13 14:41:37 85.0 10000 yes
2008-03-13 14:41:38 84.5 69700 yes
2008-03-13 14:41:39 84.5 1200 yes
2008-03-13 14:42:00 84.5 1000 yes
2008-03-13 14:42:08 84.5 300 yes
2008-03-13 14:42:10 84.5 88100 yes
2008-03-13 14:42:10 84.5 11900 yes
2008-03-13 14:42:15 84.5 5000 yes
2008-03-13 14:42:16 84.5 3200 yes
我想在时间14:42:10
对重复数据进行分组,并对exe_price
和exe_vol
应用不同的函数(例如,对exe_vol
求和并计算exe_price
的体积加权平均值)。我知道我能做到
In [2]: grouped = test_dup_df.groupby(level=0)
对重复索引进行分组,然后使用first()
或last()
函数获取第一行或最后一行,但这并不是我真正想要的。
是否有方法对不同列中的值进行分组并应用不同的(由我编写的)函数?
我喜欢@waitingkuo的回答,因为它非常清晰易读。
不管怎样,我还是会保留这个,因为它看起来确实更快——至少在熊猫版0.10.0中是这样。这种情况may (hopefully) change in the future,因此请确保重新运行基准测试,特别是如果您使用的是不同版本的Pandas。
收益率
时间基准:
不太熟悉
pandas
,但在纯numpy中,您可以:应用自己的功能:
相关问题 更多 >
编程相关推荐