当前位置: 首页 > 面试题库 >

Pandas:对数据透视表进行排序

潘飞英
2023-03-14
问题内容

第一次尝试熊猫,我试图先按照索引对数据透视表进行排序,然后再对一系列值进行排序。

到目前为止,我已经尝试过:

table = pivot_table(sheet1, values='Value', rows=['A','B'], aggfunc=np.sum)

# Sorts by value ascending, can't change to descending
table.copy().sort()
table

# The following gives me the correct ordering in values, but ignores index 
sorted_table = table.order(ascending=False)
sorted_table

# The following brings me back to the original ordering
sorted_table = table.order(ascending=False)
sorted_table2 = sorted_table.sortlevel(0)
sorted_table2

按索引然后按值对数据透视表进行排序的正确方法是什么?


问题答案:

这是一个可以做您想要的解决方案:

key1 = table.index.labels[0]
key2 = table.rank(ascending=False)

# sort by key1, then key2
sorter = np.lexsort((key2, key1))

sorted_table = table.take(sorter)

结果将如下所示:

In [22]: table
Out[22]: 
A    B    
bar  one      0.698202
     three    0.801326
     two     -0.205257
foo  one     -0.963747
     three    0.120621
     two      0.189623
Name: C

In [23]: table.take(sorter)
Out[23]: 
A    B    
bar  three    0.801326
     one      0.698202
     two     -0.205257
foo  two      0.189623
     three    0.120621
     one     -0.963747
Name: C

将其作为API方法内置到熊猫中会很好。虽然不确定应该是什么样。



 类似资料:
  • 问题内容: 我想对pandas进行一次透视,索引是两列,而不是一列。例如,一个字段用于年份,一个字段用于月份,一个“ item”字段显示“ item 1”和“ item 2”,以及一个“ value”字段和数值。我希望索引为年+月。 我设法做到这一点的唯一方法是将两个字段合并为一个,然后再次将其分开。有没有更好的办法? 最少的代码复制到下面。非常感谢! PS:是的,我知道关键字“ pivot”和“

  • A 数据透视表介绍 B.1 什么是数据透视表? 数据透视表是一种可以快速汇总、分析大量数据表格的交互式工具。使用数据透视表可以按照数据表格的不同字段从多个角度进行透视,并建立交叉表格,用以查看数据表格不同层面的汇总信息、分析结果以及摘要数据。使用数据透视表可以深入分析数值数据,以帮助用户发现关键数据,并做出有关企业中关键数据的决策。 数据透视表是针对以下用途特别设计的:以友好的方式,查看大量的数据

  • 问题内容: 我有以下SQL查询,其中创建的列不按顺序,我不太确定如何解决它。 我相信它与查询的这一部分有关系: 我曾尝试弄乱本主题中发布的答案,但无法运行查询。我希望有人能提供帮助。 编辑 我只是注意到我的行是乱序的,也想按[客户ID]进行排序。 问题答案: 您可以通过在设置字符串时添加来调整动态数据透视查询中字段的顺序: 更新:首先错过了,使用时必须先使用子查询,然后再使用: 如果您不能简单地使

  • 数据透视表显示二维交集的度量值,并在表格视图中表示数据。 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 不透明度 设置背景颜色的不透明度。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的字体样式。 位置 设置标题的位置。 对齐 设置标题的水

  • 数据透视表显示二维交集的度量值,并在表格视图中表示数据。 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的字体样式。 位置 设置标题的位置。 对齐 设置标题的水平对齐方式。 数据 字体 设置字段名