【发布时间】:2016-02-27 03:16:14
【问题描述】:
我已经按照我想要的日期顺序创建了一个 DataFrame,但是,当我将它放入数据透视表时,顺序会发生变化。
我想根据给定级别内任何行的最新日期对数据透视表进行排序
data = [['yellow',1,'02/01/2015'],
['yellow',2,'04/01/2015'],
['green',3,'03/01/2015'],
['red',4,'01/01/2015']]
df = pd.DataFrame(data, columns=['colour','number','date'])
df.pivot_table(index=['number','date'])
结果是
number
colour date
green 03/01/2015 3
red 01/01/2015 4
yellow 02/01/2015 1
04/01/2015 2
我希望最终结果是一个颜色列表,其中最新日期位于顶部,基本上是对每行最新日期的排序(周围有星号的日期)。所以结果是:-
number
colour date
yellow 02/01/2015 2
*04/01/2015* 3
green *03/01/2015* 4
red *01/01/2015* 1
我能想到三个解决方案,但我无法解决
a) 获取 pivot_table 以保持原始顺序 b) 使用沿着 latest_date_in_rows 行的函数对 pivot_table 进行排序 c) 创建一个额外的列,其中包含每种颜色的最新日期
不确定进入熊猫世界的正确路线是什么,但目前我被困住了:(
【问题讨论】:
标签: python sorting date pandas pivot-table