Als er een DataFrame is zoals het volgende:
import pandas as pd
df = pd.DataFrame([1, 1, 1, 1, 1], index=[100, 29, 234, 1, 150], columns=['A'])
Hoe kan ik dit dataframe op index sorteren met elke combinatie van index en kolomwaarde intact?
Antwoord 1, autoriteit 100%
Dataframes hebben een sort_index
methode die standaard een kopie retourneert. Geef inplace=True
door om ter plaatse te werken.
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())
Geeft mij:
A
1 4
29 2
100 1
150 5
234 3
Antwoord 2, autoriteit 9%
Iets compacter:
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df = df.sort_index()
print(df)
Opmerking:
sort
is verouderd en vervangen doorsort_index
voor dit scenario- gebruik liever geen
inplace
omdat het meestal moeilijker te lezen is en ketening voorkomt. Zie uitleg in antwoord hier:
Pandas: merkwaardige prestatiedaling voor inplace hernoemen na dropna