gpt4 book ai didi

python - 如何对 Pandas 数据透视表中的值进行排序?

转载 作者:太空宇宙 更新时间:2023-11-03 21:24:42 26 4
gpt4 key购买 nike

我有一个 pandas 数据透视表,想要对“价格”进行排序。我怎样才能做到这一点?

我尝试使用 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:列标签“价格”不唯一。对于多索引,标签必须是一个元组,其中的元素对应于每个级别。

谁能告诉我如何修复代码?非常感谢。

预期输出是: Output

最佳答案

这应该可以修复它:

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

关于python - 如何对 Pandas 数据透视表中的值进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53934834/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com