Làm thế nào để sắp xếp một Pandas DataFrame theo chỉ mục?


91

Khi có một DataFrame như sau:

import pandas as pd
df = pd.DataFrame([1, 1, 1, 1, 1], index=[100, 29, 234, 1, 150], columns=['A'])

Làm cách nào để sắp xếp khung dữ liệu này theo chỉ mục với từng kết hợp giá trị chỉ mục và cột được giữ nguyên?

Câu trả lời:


149

Khung dữ liệu có một sort_indexphương thức trả về một bản sao theo mặc định. Vượt qua inplace=Trueđể hoạt động tại chỗ.

import pandas as pd
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df.sort_index(inplace=True)
print(df.to_string())

Đưa cho tôi:

     A
1    4
29   2
100  1
150  5
234  3

13

Nhỏ gọn hơn một chút:

df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df = df.sort_index()
print(df)

Ghi chú:


9
.sort()docstring nóiDEPRECATED: use DataFrame.sort_values()
endolith

1
@endolith Quả thực .sort()đã không còn được dùng nữa. Sự thay thế sẽ .sort_index()giống như Paul H sử dụng trong câu trả lời của mình, trong trường hợp đó, điểm khác biệt duy nhất giữa các câu trả lời của chúng tôi là tôi không sử dụng inplace=True.
fantabolous
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.