Pandas DataFrame DataFrame.sort_values() 함수
-
pandas.DataFrame.sort_values()
의 구문 : -
예제 코드: 단일 열을 기준으로 Pandas
pandas.DataFrame.sort_values()
로 DataFrame 정렬 -
예제 코드: 여러 열을 기준으로 Pandas
DataFrame.sort_values()
를 사용하여 DataFrame 정렬 -
예제 코드: Pandas
DataFrame.sort_values()
를 사용하여 내림차순으로 DataFrame 정렬 -
예제 코드: Pandas
DataFrame.sort_values()
와 함께NaN
을 먼저 넣어 DataFrame 정렬
Pandas DataFrame.sort_values()
메서드는 호출자DataFrame
을 오름차순 또는 인덱스를 따라 지정된 열의 값을 기준으로 내림차순.
pandas.DataFrame.sort_values()
의 구문 :
DataFrame.sort_values(
by,
axis=0,
ascending=True,
inplace=False,
kind="quicksort",
na_position="last",
ignore_index=False,
)
매개 변수
by |
정렬 할 이름 또는 이름 목록 |
axis |
행(axis=0 ) 또는 열(axis=1 )을 따라 정렬 |
ascending |
오름차순(ascending = True ) 또는 내림차순(ascending = False )으로 정렬 |
inplace |
부울. True 이면 호출자DataFrame 을 제자리에서 수정합니다. |
kind |
사용할 정렬 알고리즘입니다. 기본값:quicksort |
na_position |
시작 (na_position = first ) 또는 끝 (na_position = last )에NaN 값을 입력하십시오. |
ignore_index |
부울. True 인 경우 원본 DataFrame 의 색인이 무시됩니다. 기본값은 색인이 사용됨을 의미하는 False 입니다. 버전 1.0.0의 새로운 기능 |
반환
inplace
가True
이면 정렬 된DataFrame
을 반환합니다. 그렇지 않으면 None
.
예제 코드: 단일 열을 기준으로 Pandas pandas.DataFrame.sort_values()
로 DataFrame 정렬
import pandas as pd
dates=['April-10',
'April-11',
'April-12',
'April-13',
'April-14',
'April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]
df = pd.DataFrame({'Date':dates ,
'Sales':sales ,
'Price': prices})
print("Before Sorting:")
print(df)
sorted_df=df.sort_values(by=['Price'])
print("After Sorting:")
print(sorted_df)
출력:
Before Sorting:
Date Sales Price
0 April-10 200 3
1 April-11 300 1
2 April-12 400 2
3 April-13 200 4
4 April-14 300 3
5 April-16 300 2
After Sorting:
Date Sales Price
Date Sales Price
1 April-11 300 1
2 April-12 400 2
5 April-16 300 2
0 April-10 200 3
4 April-14 300 3
3 April-13 200 4
DataFrame df
를 Price
열의 값에 따라 오름차순 (기본값)으로 정렬합니다.
정렬 된DataFrame
의 색인은 원래DataFrame
과 동일하게 유지됩니다.
정렬 된DataFrame
에 새 인덱스 열을 포함하려면ignore_index
(버전 1.0.0에서 도입)를True
로 설정할 수 있습니다.
import pandas as pd
dates = ["April-10", "April-11", "April-12", "April-13", "April-14", "April-16"]
sales = [200, 300, 400, 200, 300, 300]
prices = [3, 1, 2, 4, 3, 2]
df = pd.DataFrame({"Date": dates, "Sales": sales, "Price": prices})
print("Before Sorting:")
print(df)
sorted_df = df.sort_values(by=["Price"], ignore_index=True)
print("After Sorting:")
출력:
Before Sorting:
Date Sales Price
0 April-10 200 3
1 April-11 300 1
2 April-12 400 2
3 April-13 200 4
4 April-14 300 3
5 April-16 300 2
After Sorting:
Date Sales Price
0 April-11 300 1
1 April-12 400 2
2 April-16 300 2
3 April-10 200 3
4 April-14 300 3
5 April-13 200 4
여기서는ignore_index = True
를 사용하여 새 인덱스를 행에 할당하고 원본DataFrame
의 인덱스를 무시합니다.
예제 코드: 여러 열을 기준으로 Pandas DataFrame.sort_values()
를 사용하여 DataFrame 정렬
import pandas as pd
dates=['April-10',
'April-11',
'April-12',
'April-13',
'April-14',
'April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]
df = pd.DataFrame({'Date':dates ,
'Sales':sales ,
'Price': prices})
print("Before Sorting:")
print(df)
df.sort_values(by=['Sales','Price'],
ignore_index=True,
inplace=True)
print("After Sorting:")
print(df)
출력:
Before Sorting:
Date Sales Price
0 April-10 200 3
1 April-11 300 1
2 April-12 400 2
3 April-13 200 4
4 April-14 300 3
5 April-16 300 2
After Sorting:
Date Sales Price
0 April-10 200 3
1 April-13 200 4
2 April-11 300 1
3 April-16 300 2
4 April-14 300 3
5 April-12 400 2
여기서는 먼저 Sales
가 오름차순으로 정렬 된 다음 각 Sales
에 대한 Price
도 오름차순으로 정렬됩니다.
df
에서200
은Sales
열의 가장 작은 값이고3
은Sales
값200
에 대한Price
열의 가장 작은 값입니다.
따라서 Sales
열에 200
이 있고 Price
에 3
이있는 행이 맨 위로 이동합니다.
inplace = True
로 인해sort_values()
함수를 호출 한 후 원래DataFrame
이 수정됩니다.
예제 코드: Pandas DataFrame.sort_values()
를 사용하여 내림차순으로 DataFrame 정렬
import pandas as pd
dates=['April-10',
'April-11',
'April-12',
'April-13',
'April-14',
'April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]
df = pd.DataFrame({'Date':dates ,
'Sales':sales ,
'Price': prices})
print("Before Sorting:")
print(df)
sorted_df=df.sort_values(by=['Sales'],
ignore_index=True,
ascending=False)
print("After Sorting:")
print(sorted_df)
출력:
Before Sorting:
Date Sales Price
0 April-10 200 3
1 April-11 300 1
2 April-12 400 2
3 April-13 200 4
4 April-14 300 3
5 April-16 300 2
After Sorting:
Date Sales Price
0 April-12 400 2
1 April-11 300 1
2 April-14 300 3
3 April-16 300 2
4 April-10 200 3
5 April-13 200 4
DataFrame df
를 Sales
열 값의 내림차순으로 정렬합니다.
400
은 Sales
열에서 가장 큰 값입니다. 따라서 항목은 맨 위로 이동하고 다른 행은 그에 따라 정렬됩니다.
예제 코드: Pandas DataFrame.sort_values()
와 함께NaN
을 먼저 넣어 DataFrame 정렬
import pandas as pd
dates=['April-10',
'April-11',
'April-12',
'April-13',
'April-14',
'April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]
df = pd.DataFrame({'Date':dates ,
'Sales':sales ,
'Price': prices})
print("Before Sorting:")
print(df)
sorted_df=df.sort_values(by=['Price'],ignore_index=True,na_position='first')
print("After Sorting:")
print(sorted_df)
출력:
Before Sorting:
Date Sales Price
0 April-10 200 NaN
1 April-11 300 1.0
2 April-12 400 2.0
3 April-13 200 4.0
4 April-14 300 3.0
5 April-16 300 NaN
After Sorting:
Date Sales Price
0 April-10 200 NaN
1 April-16 300 NaN
2 April-11 300 1.0
3 April-12 400 2.0
4 April-14 300 3.0
5 April-13 200 4.0
기본적으로 NaN
값은 정렬 후 DataFrame
끝에 배치됩니다.
그러나na_position = first
를 설정하면DataFrame
의 시작 부분에NaN
값을 배치 할 수 있습니다.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn