我想在下面的透视表中添加一个额外的列。新列应显示不活动比率(不活动/(不活动+活动))。
我想使用.apply
,但是,我不知道如何获取数据; pivot_table.count['active']
没有给予我所有活动的数据。
有人能帮我一下吗?
pivot_table = pd.pivot_table(valuable, values='partyPartnerId',
index=['countryOfOrigin'],
columns=['activity'],
aggfunc=['count'],
fill_value=0)
activity count
countryOfOrigin active inactive
AT 1 0
BE 1385 338
CZ 2 0
DE 61 6
DK 1 0
2条答案
按热度按时间0wi1tuuw1#
正如 @mozway 所指出的,通过传递
aggfunc='count'
而不是aggfunc=['count']
,可以避免以 MultiIndex 列结束。在此之后,您可以使用eval
比率或使用经典的new-column的assign
:输出量:
使用的输入:
hpxqektj2#
解决方案:
https://pandas.pydata.org/docs/reference/api/pandas.pivot_table.html
pivot_table[“inactive_ratio”] = pivot_table[“inactive”] /(pivot_table[“inactive”] + pivot_table[“active”])print(pivot_table)