【发布时间】:2017-12-16 00:12:43
【问题描述】:
如何重新排列/重新排序(不一定是排序)pandas 数据框索引?
我有以下数据框:
df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 6, 7],
'B': [0, 1, 0, 2, 1, 7, 1]},
index=['Sat', 'Tue', 'Sun', 'Fri',
'Wed', 'Mon', 'Thu'])
给出:
A B
Sat 1 0
Tue 2 1
Sun 3 0
Fri 4 2
Wed 5 1
Mon 6 7
Thu 7 1
我想按星期几(即周日、周一、周二、周三、周四、周五、周六)对索引进行排序。具有重新排列/重新排序索引的数据框应如下所示:
A B
Sun 3 0
Mon 6 7
Tue 2 1
Wed 5 1
Thu 7 1
Fri 4 2
但是使用 df.sort_index() 会产生一个按字母顺序排序的 df 索引。
如何明确指定数据帧索引的顺序?
我能想到的解决方案是在数据框创建期间将所需的索引排序作为列表传递:
df = pd.DataFrame(df, index=['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri'])
在不创建另一个数据框的情况下,还有什么方法可以做到这一点?
谢谢。
【问题讨论】: