반응형
파이썬 데이터프레임으로 데이터를 보거나 결과 값을 다운로드 받기 위해 몇가지 정렬 옵션을 사용하면 좀 더 쉽게 데이터를 확인할 수 있습니다.
아래의 몇가지 방안을 참고하여 원하는 데이터 정렬방법을 골라서 사용하면 되겠습니다.
1. 가장 기본인 특정 열 기준 정렬하기
- sort_values 사용하여 정렬하고자 하는 컬럼명을 지정
df = df.sort_values(by='column_name')
2. 여러 열을 기준으로 정렬하기
- 컬럼을 array 로 지정
df = df.sort_values(by=['column1', 'column2'])
3. 내림차순 정렬하기
- 옵션을 지정하지 않으면 오름차순
- ascending 을 False 로 지정하면 내림차순으로 정렬
df = df.sort_values(by='column_name', ascending=False)
4. 여러 열 기준 다른 순서로 정렬하기
- 각 열에 대해 ascending 의 적용 여부를 배열 순서대로 지정함
df = df.sort_values(by=['column1', 'column2'], ascending=[True, False])
5. NaN 값 위치지정
- 특정 열의 데이터중 값이 없는 경우의 행 데이터만 모을 때 적용
df = df.sort_values(by='column_name', na_position='first') # NaN 값을 맨 앞으로
6. 원본 데이터프레임 변경
- 정렬한 이후 데이터를 원본에 바로 적용시 inplace 사용
df.sort_values(by='column_name', inplace=True)
7. 인덱스 재설정
- 정렬 이후 index값이 섞여있게되어 정렬 순대대로 재설정하기 위해 reset_index 사용
df = df.sort_values(by='column_name').reset_index(drop=True)
8. 사용자 정의함수로 재설정
- key 에 적용할 기준을 설정하여 정렬
- 아래 예시는 apply를 적용하여 'score'값을 'age' 기준에 따라 변경하여 적용하는 함수로 계산된 기준으로 정렬하는 경우임
import pandas as pd
# 예시 데이터프레임 생성
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 35, 28],
'score': [85, 92, 78, 95]
})
# 사용자 정의 정렬 함수
def custom_sort(x):
# 나이가 30 이상이면 점수를 2배로 계산
if x['age'] >= 30:
return x['score'] * 2
else:
return x['score']
# 사용자 정의 함수를 사용하여 정렬
sorted_df = df.sort_values(by='score', key=lambda x: x.apply(custom_sort), ascending=False)
print(sorted_df)
상기 예시들을 참고하여 섞어서 사용하면 원하는 정렬 기준으로 데이터 순서를 변경할 수 있습니다.
반응형
'파이썬(Python)' 카테고리의 다른 글
파이썬-우편번호API 이용 우편번호 찾기(1) (1) | 2024.12.19 |
---|---|
파이썬에서 NaN, None 데이터 다루기 (1) | 2024.11.14 |
[업무자동화]파이썬으로 청구서 자동생성하기 (1) | 2024.07.14 |
판다스(Pandas)로 엑셀 파일 저장하기 - 두가지 방법 (0) | 2024.07.14 |
판다스(Pandas)로 엑셀 파일 불어오기 - 두가지 방법 (1) | 2024.06.30 |