我正在尝试创建一个表,其中包含一列中值的百分比差异计算。我想在表格中显示此表格,标签0-15M,15-25M ...等在表格的左侧和顶部,表格中的值是每种组合计算得出的百分比差异。我要使用的值如下:
label value
0-15M 18.274490
15-25M 21.338270
25-35M 22.607708
35-45M 24.078338
45-55M 25.545316
55-65M 26.951005
65-75M 27.765658
我尝试使用数据透视表来执行此操作,但是尝试仅使用一列进行计算似乎无效。我尝试过的代码如下:
pd.pivot_table(test, index='label', columns='label', aggfunc=[np.mean])
这是结果:
0-15M 15-25M 25-35M 35-45M 45-55M 55-65M 65-75M
0-15M 18.27 NaN NaN NaN NaN NaN NaN
15-25M NaN 21.33 NaN NaN NaN NaN NaN
25-35M NaN NaN 22.60 NaN NaN NaN NaN
35-45M NaN NaN NaN 24.07 NaN NaN NaN
45-55M NaN NaN NaN NaN 25.54 NaN NaN
55-65M NaN NaN NaN NaN NaN 26.95 NaN
65-75M NaN NaN NaN NaN NaN NaN 27.76
75-85M NaN NaN NaN NaN NaN NaN NaN
85-95M NaN NaN NaN NaN NaN NaN NaN
因此,您可以看到它仅计算它已经具有的值,而不是从组合中计算新值。
任何对此的帮助将是巨大的!谢谢。
答案 0 :(得分:0)
解决方案:我最终使用循环执行此操作,并将列表附加在一起以形成数据框。
for x in df.iloc[2,]:
for y in df.iloc[2,]:
solution.append((x-y)/y)