簡體   English   中英

Python Pivot或Crosstab使用一列來計算百分比差異

[英]Python Pivot or Crosstab using one column to calculate percentage difference

我正在嘗試創建一個表,其中包含一列中值的百分比差異計算。 我想在表格中顯示此表格,標簽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

因此,您可以看到它僅計算它已經具有的值,而沒有從組合中計算新值。

任何幫助都會很棒! 謝謝。

解決方案:我最終使用循環執行此操作,並將列表附加在一起以形成數據框。

for x in df.iloc[2,]:
    for y in df.iloc[2,]:
        solution.append((x-y)/y)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM