[英]Pandas pivot table, sort values
I am trying to create a pivot table in Pandas.我正在尝试在 Pandas 中创建一个 pivot 表。
df_pivot = df_final.groupby('bm').apply(lambda sub: sub.pivot_table(
index=['Utm_campaign', 'Time'],
values=['Cost', 'Install', 'Show', 'Link_cliks', 'Reg', 'Ftd'],
aggfunc=np.sum,
margins=True,
margins_name='Total'
))
# Calculation
df_pivot = df_pivot.assign(Instal_cost = df_pivot.Cost/df_pivot.Install)
df_pivot = df_pivot.assign(Reg_cost = df_pivot.Cost/df_pivot.Reg)
df_pivot = df_pivot.assign(FTD_cost = df_pivot.Cost/df_pivot.Ftd)
df_pivot = df_pivot.assign(CTR = df_pivot.Link_cliks/df_pivot.Show*100)
# Replace Inf
df_pivot.replace([np.inf, -np.inf, np.nan], 0, inplace=True)
df_pivot = df_pivot.drop(['Link_cliks', 'Show'], axis=1)
df_pivot = df_pivot.sort_values(by = ["bm", 'Utm_campaign'], axis = 0, ascending=[True, False])
I've attached an image from Excel as it is easier to see in tabular format what I am trying to achieve.我附上了来自 Excel 的图像,因为它更容易以表格格式查看我想要实现的目标。
I tried using.sort_values() but I couldn't sort ' Cost '.我尝试使用.sort_values(),但无法对“ Cost ”进行排序。
Thanks in advance提前致谢
df_pivot: df_pivot:
bm BM | Utm_campaign Utm_campaign | Time时间 | Cost成本 | Ftd FTD | Install安装 | Reg注册 | Instal_cost安装成本 | Reg_ cost注册费用 | FTD_cost FTD_cost | CTR点击率 |
---|---|---|---|---|---|---|---|---|---|---|
name49438名称49438 | Total全部的 | 2,43 2,43 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | |
OPD_DE_SL_name49438 OPD_DE_SL_name49438 | 11:00 11:00 | 2,43 2,43 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | |
name54908名称54908 | Total全部的 | 8,5 8,5 | 0 0 | 2 2 | 1 1 | 4,25 4,25 | 8,5 8,5 | 0 0 | 1,02 1,02 | |
OPD_DE_SL_name54908 OPD_DE_SL_name54908 | 10:00 10:00 | 8,5 8,5 | 0 0 | 2 2 | 0 0 | 4,25 4,25 | 0 0 | 0 0 | 1,02 1,02 | |
11:00 11:00 | 0 0 | 0 0 | 0 0 | 1 1 | 0 0 | 0 0 | 0 0 | 0 0 | ||
name56281名称56281 | Total全部的 | 17,76 17,76 | 0 0 | 4 4 | 3 3 | 4,44 4,44 | 5,92 5,92 | 0 0 | 0,63 0,63 | |
OPD_DE_name56281 OPD_DE_name56281 | 11:00 11:00 | 17,76 17,76 | 0 0 | 4 4 | 3 3 | 4,44 4,44 | 5,92 5,92 | 0 0 | 0,63 0,63 | |
name57749名称57749 | Total全部的 | 0,01 0,01 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | |
OPD_DE_SL_name57749 OPD_DE_SL_name57749 | 10:00 10:00 | 0,01 0,01 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | |
11:00 11:00 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 | 0 0 |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.