我创建了一个透视表,使用:

table2 = pandas.pivot_table(df, index=['Salesperson'], values=['Gross Sales', 'Gross Profit'], aggfunc=numpy.sum)
table2['Profit Margin'] = table2['Gross Profit'] / table2['Gross Sales']
table2_rounded = table2.round({'Gross Profit': 2, 'Gross Sales': 2, 'Profit Margin': 2})

这给了我:
in: table2.info
out: Salesperson Gross Profit Gross Sales Profit Margin
  ((((values as row data))))

作为列。然而,毛利销售应该显示在毛利之前。如何更改非索引列的顺序?数据帧在我旋转之前有1000行。我到处寻找解决办法。这看起来很基本(或者应该是…)

最佳答案

可以按所需顺序重新索引轴。适当的方法称为reindex_axis

column_order = ['Gross Sales', 'Gross Profit', 'Profit Margin']
table3 = table2.reindex_axis(column_order, axis=1)

方法info不是用来显示数据帧的,并且没有正确调用它。要调用info,请尝试键入table2.info()。只需键入变量名、调用print函数[或语句]、使用headtail方法或切片行/列范围,就可以检查数据帧。

08-24 20:09