簡體   English   中英

如何對Pandas Pivot表中的值進行排序?

[英]How to sort the Values in Pandas Pivot table?

我有一個pivot數據透視表,想對“價格”進行排序。 我怎樣才能做到這一點?

我嘗試使用sort_values,但返回ValueError。

df= pd.DataFrame({'ProductID':[78236,23658,12596,56302,48726,89235,86312,78541,10239,55563], 'Category':['Food','Food','Food','Food','Food','Food','Food','Food','Food','Food'], 'Price':[12,21,20,85,69,36,33,10,58,4]})
pivot = df.pivot_table(index=['ProductID'],columns=['Category'],values=['Price'],aggfunc='sum')
pivot.sort_values('Price', ascending=False)

我想按降序對“價格”進行排序,但錯誤是:ValueError:列標簽“價格”不是唯一的。 對於多索引,標簽必須是一個元組,其元素與每個級別相對應。

誰能告訴我該如何修復代碼? 非常感謝。

預期的輸出是: 輸出

這應該解決它:

import pandas as pd

df = pd.DataFrame({'ProductID': [78236, 23658, 12596, 56302, 48726, 89235, 86312, 78541, 10239, 55563],
                   'Category': ['Food', 'Food', 'Food', 'Food', 'Food', 'Food', 'Food', 'Food', 'Food', 'Food'],
                   'Price': [12, 21, 20, 85, 69, 36, 33, 10, 58, 4]})
pivot = df.pivot_table(index=['ProductID'], columns=['Category'], values=['Price'], aggfunc='sum')
result = pivot.sort_values(('Price', 'Food'), ascending=False)
print(result)

輸出量

          Price
Category   Food
ProductID      
56302        85
48726        69
10239        58
89235        36
86312        33
23658        21
12596        20
78236        12
78541        10
55563         4

暫無
暫無

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

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