【发布时间】:2016-01-14 22:14:11
【问题描述】:
采用以下数据框:
x = np.tile(np.arange(3),3)
y = np.repeat(np.arange(3),3)
df = pd.DataFrame({"x": x, "y": y})
x y
0 0 0
1 1 0
2 2 0
3 0 1
4 1 1
5 2 1
6 0 2
7 1 2
8 2 2
我需要先按x 排序,然后再按y 排序:
df2 = df.sort(["x", "y"])
x y
0 0 0
3 0 1
6 0 2
1 1 0
4 1 1
7 1 2
2 2 0
5 2 1
8 2 2
如何更改索引以使其再次升序。 IE。我怎么得到这个:
x y
0 0 0
1 0 1
2 0 2
3 1 0
4 1 1
5 1 2
6 2 0
7 2 1
8 2 2
我尝试了以下方法。不幸的是,它根本不会改变索引:
df2.reindex(np.arange(len(df2.index)))
【问题讨论】:
-
如果你不需要新的df,试试
df.sort(["x", "y"], ignore_index=True, inplace=True)