เมื่อมี DataFrame ดังต่อไปนี้:
import pandas as pd
df = pd.DataFrame([1, 1, 1, 1, 1], index=[100, 29, 234, 1, 150], columns=['A'])
ฉันจะจัดเรียง dataframe ตามดัชนีโดยมีค่าดัชนีและคอลัมน์แต่ละชุดเหมือนเดิมได้อย่างไร
เมื่อมี DataFrame ดังต่อไปนี้:
import pandas as pd
df = pd.DataFrame([1, 1, 1, 1, 1], index=[100, 29, 234, 1, 150], columns=['A'])
ฉันจะจัดเรียง dataframe ตามดัชนีโดยมีค่าดัชนีและคอลัมน์แต่ละชุดเหมือนเดิมได้อย่างไร
คำตอบ:
Dataframes มีsort_index
วิธีการที่ส่งคืนสำเนาตามค่าเริ่มต้น ผ่านinplace=True
เพื่อดำเนินการในสถานที่
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
1 4
29 2
100 1
150 5
234 3
กะทัดรัดกว่าเล็กน้อย:
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df = df.sort_index()
print(df)
บันทึก:
sort
ถูกเลิกใช้งานแล้วแทนที่ด้วยsort_index
สำหรับสถานการณ์นี้inplace
เนื่องจากมักจะอ่านยากกว่าและป้องกันการผูกมัด ดูคำอธิบายในคำตอบที่นี่:
หมีแพนด้า: ประสิทธิภาพลดลงอย่างแปลกประหลาดสำหรับการเปลี่ยนชื่อแทนหลังจากดรอปนา.sort()
ได้เลิกใช้งานไปแล้ว ทดแทนจะเป็นการใช้งานพอลเอชในคำตอบของเขาซึ่งในกรณีนี้แตกต่างระหว่างคำตอบของเราคือฉันไม่ได้ใช้.sort_index()
inplace=True
.sort()
docstring กล่าวว่าDEPRECATED: use DataFrame.sort_values()