一个简单的例子,假设我有这个DataFrame:
raw = pd.DataFrame(np.array([
[1, 2, 5, 'User 1', 5],
[1, 2, 3, 'User 2', 3],
[1, 2, 2, 'User 3', 5],
[3, 2, 4, 'User 4', 7],
[3, 2, 3, 'User 5', 2],
[3, 1, 6, 'User 6', 5],
[2, 2, 6, 'User 7', 1],
[2, 2, 5, 'User 8', 4],
[2, 2, 3, 'User 9', 8],
]), columns=['a', 'b', 'c', 'd', 'e'])
以及该代码下方:
raw.set_index(['a', 'b', 'c'], inplace=True)
raw.sort_index()
raw.head(9)
输出如下:
与其先按a
,然后按b
,然后按c
对其进行排序,不如将其排序。 (整行)
怎么解决?
答案 0 :(得分:1)
添加inplace=True
参数DataFrame.sort_index
:
raw.sort_index(inplace=True)
或将输出分配回去:
raw = raw.sort_index()
print (raw)
d e
a b c
1 2 2 User 3 5
3 User 2 3
5 User 1 5
2 2 3 User 9 8
5 User 8 4
6 User 7 1
3 1 6 User 6 5
2 3 User 5 2
4 User 4 7