source

팬더 데이터 프레임을 인덱스별로 정렬하는 방법은?

lovecheck 2023. 9. 9. 09:37
반응형

팬더 데이터 프레임을 인덱스별로 정렬하는 방법은?

다음과 같은 DataFrame이 있을 경우:

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

인덱스 및 열 값의 각 조합을 그대로 사용하여 인덱스별로 이 데이터 프레임을 정렬하려면 어떻게 해야 합니까?

데이터 프레임은 다음과 같습니다.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)

참고:

DataFrame 인덱스에 이름이 있으면 다음을 사용할 수 있습니다.sort_values()이름으로 분류하는 것도 가능합니다.예를 들어 인덱스 이름이 지정된 경우lvl_0, 이 이름으로 정렬할 수 있습니다.이 특정한 경우는 데이터 프레임이 a로부터 얻어지면 일반적입니다.groupby아니면.pivot_table작동.

df = df.sort_values('lvl_0')

res

인덱스에 이름이 있는 경우 인덱스와 열 값을 모두 기준으로 정렬할 수도 있습니다.예를 들어, 다음은 인덱스와 열을 기준으로 정렬합니다.A값:

df = df.sort_values(['lvl_0', 'A'])

MultiIndex 데이터 프레임이 있는 경우 다음을 사용하여 인덱스 레벨을 기준으로 정렬할 수 있습니다.level=매개 변수.예를 들어 내림차순으로 두 번째 레벨을 정렬하고 오름차순으로 첫 번째 레벨을 정렬하려면 다음 코드로 정렬할 수 있습니다.

df = df.sort_index(level=[1, 0], ascending=[False, True])

res2

인덱스에 이름이 있으면 다시 호출할 수 있습니다.sort_values(). 예를 들어 인덱스별로 다음 정렬'lvl_1'그리고.'lvl_2'.

df = df.sort_values(['lvl_1', 'lvl_2'])

언급URL : https://stackoverflow.com/questions/22211737/how-to-sort-a-pandas-dataframe-by-index

반응형