【发布时间】:2022-03-16 19:10:53
【问题描述】:
我在尝试使用 python 的 agg 函数时遇到了困难——据我所知——它类似于 R 的 summarise 函数
我有以下数据集:
ID Date Qtr Price Fee_Rate
1 1/1/10 1 10 1.002
1 1/2/10 1 10.3 1.002
1 1/3/10 1 10.4 1.002
2 1/1/10 1 25 .987
2 1/2/10 1 23.4 .987
... ... ... ... ...
1 4/1/10 2 12.4 1.09
1 4/2/10 2 12.5 1.09
等等..
基本上 - 我想按季度分组,过滤到季度的第一个日期,并总结 (Price*Fee_Rate)
在 R 中 - 代码如下
df %>% group_by(Qtr) %>% filter(Date == min(Date) %>% summarise( L_Value = sum(Price*Fee_Rate))
如何在 Python 中复制这种语法?
这是我迄今为止尝试过的:
df.groupby('Qtr').head(1).agg({'L_Value' : ('Price'*'Fee_Rate').sum())})
但它不起作用,出现以下错误:
can't multiply sequence by non-int of type 'str'
我认为这是因为 'Price' * 'Fee_Rate'..
谢谢!
【问题讨论】: