对于每一分钱,我想把这些卷加在一起。
因此,在这个数据集中,所有交易价格在188.415-188.42之间都可以将它们的数量加在一起,所有188.43交易加在一起等等。我目前正在使用熊猫来管理数据,而且我在我不确定我可以通过什么功能实现这一目标。
示例数据:
Time|Volume|Price
09:30:00|200|188.42
09:30:00|500|188.41
09:30:00|100|188.415
09:30:00|100|188.41
09:30:00|590|188.42
09:30:00|100|188.415
09:30:00|100|188.4
09:30:00|200|188.42
09:30:00|900|188.41
09:30:00|249|188.42
09:30:00|100|188.41
09:30:00|300|188.415
09:30:00|300|188.42
09:30:00|100|188.43
09:30:00|100|188.44
09:30:00|900|188.43
09:30:00|200|188.42
09:30:00|100|188.43
09:30:00|100|188.42
09:30:00|500|188.43
答案 0 :(得分:3)
您可以对Price
列进行舍入,将其存储在(临时)approx
列中,然后执行groupby/agg
operation:
df['approx'] = df['Price'].round(2)
df.groupby('approx')['Volume'].sum()
产量
# approx
# 188.40 100
# 188.41 1600
# 188.42 2339
# 188.43 1600
# 188.44 100
# Name: Volume, dtype: int64
或者,您可以放弃approx
列并直接将值提供给df.groupby
:
In [142]: df.groupby(df['Price'].round(2))['Volume'].sum()
Out[142]:
Price
188.40 100
188.41 1600
188.42 2339
188.43 1600
188.44 100
Name: Volume, dtype: int64