我希望将计算出的字段(比率)添加到熊猫数据透视表。 与此问题(How to add calculated % to a pandas pivottable类似,我无法使用我的代码。
我正在尝试获取电子邮件的最近打开率%。一个简单的比率,其公式如下所示: dst ['perc'] =(dst ['recency_opened'] / dst ['recency_sent'])
# My Pivot Table code:
emails =
pd.pivot_table(dst,'emails_opened','emails_sent','recency_opened',
'recency_sent', 'perc'],['segment', 'hcp_type'], aggfunc='sum',
fill_value=None, margins=True, dropna=True, margins_name='Total')
emails
结果是这样的:
perc recency_opened recency_sent
hcp_type
Doctor 113.0 113 150
Nurse 33.0 33 37
Total 146.0 146 187
但是我的预期结果应该是:
perc recency_opened recency_sent
hcp_type
Doctor 0.753 113 150
Nurse 0.891 33 37
Total 146 187
或者,我也可以使用DataFrame(不一定是数据透视表),因为我真的很想分析电子邮件新近打开率%。
答案 0 :(得分:0)
您将opened
除以sent
吗?
>>> import pandas as pd
>>> df = pd.DataFrame([[113, 150], [33, 37]],
columns=['opened', 'sent'], index=['Doctor', 'Nurse'])
>>> df['ratio (%)'] = df['opened']/df['sent']
>>> df
opened sent ratio (%)
Doctor 113 150 0.753333
Nurse 33 37 0.891892