ใช้กรอบข้อมูลต่อไปนี้:
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
ฉันจะเปลี่ยนดัชนีให้มันขึ้นอีกครั้งได้อย่างไร ฉันจะได้รับสิ่งนี้อย่างไร:
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.sort(["x", "y"], ignore_index=True, inplace=True)