我有一个这样的数据框
Week|co_Week|收入|国家
-|-|
2021年09月19日|2021年01月10日|120|美国
2021年09月19日|2021年03月10日|120|美国
2021年09月19日|2021年03月10日|120|FR
2021年09月|2021年05月10日|15|美国
2021年09月|2021年06月10日|34|FR
现在我想要获得每个唯一周日期的收入总和,因此输出应该如下所示
Week|co_Week|收入|Total_Income|国家
-|
2021年09月19日|2021年01日|120|135|美国
2021年09月19日|2021年03月10日|120|135|美国
2021年09月19日|2021年03月10日|120|154|FR
2021年09月|2021年05月10日|15|135|美国
2021年09月|2021年06月10日|34|154|FR
我尝试使用以下代码,但由于删除了大多数索引,我在新列中以许多Null值结束!
df['Total_revenue'] = df.drop_duplicates(['Revenue']).groupby(df['Country'])['Total_spend'].transform('sum')
1条答案
按热度按时间z0qdvdin1#
IIUC,您可能需要在
groupby
中添加drop_duplicates
:但如果你在不同的星期偶然获得了几倍于相同收入的收入,这可能是有偏见的。
最好使用
mask
来隐藏重复的值,然后使用groupby.transform('sum')
:输出: