728x90
728x90
🔉 빅데이터 분석을 편리하게 해주는 파이썬 라이브러리인 Pandas에 대해 공부해보자!
📝목차
1. sort_values()
2. sort_index()
먼저 사용할 데이터 선언
import pandas as pd
# list를 이용해서 데이터 프레임 만들기
name_list = ["안유진","가을","레이","장원영","리즈","이서"]
korean_list = [90,85,70,87,85,85]
english_list = [95,85,87,94,74,84]
df = pd.DataFrame({"name": name_list,"korean": korean_list, "english": english_list})
df
output:
1. sort_values()
☑️특정 열 정렬
- df['열 이름'].sort_values()
df['english'].sort_values() # 영어 점수를 오름차순으로 정렬
output:
📌 값을 내림차순으로 정렬하고 싶다면 ascending옵션을 False로 설정하면 된다 (기본 값은 true, 오름차순)
df['english'].sort_values(ascending=False) # 영어 점수를 내림차순으로 정렬
output:
☑️ 특정 열을 기준으로 데이터 프레임 정렬
- df.sort_values(by='열 이름')
df.sort_values(by='english') # 영어 점수를 오름차순으로 정렬
output:
df.sort_values(by='english',ascending=False) # 영어 점수를 내림차순으로 정렬
output:
☑️ 두가지 이상의 기준으로 데이터 프레임 정렬
- by와 ascending 옵션에 리스트 형식으로 넣어준다.
📌 korean 점수는 오름차순으로 정렬한 후, english 점수는 내림차순으로 정렬하세요.
df.sort_values(by=['korean','english'],ascending=[True,False]) # 국어 점수 오름차순 정렬 후 영어 점수 내림차순 정렬
output:
📃 위와 같이하면 기존 데이터 프레임은 바뀌지 않는다. 만약 기존 데이터 프레임을 바꾸려면 다음과 같이 하면 된다!
📌 inplace = True 옵션
df.sort_values(by=['korean','english'],ascending=[True,False],inplace=True) # 국어 점수 오름차순 정렬 후 영어 점수 내림차순 정렬
📌 변수에 대입
df = df.sort_values(by=['korean','english'],ascending=[True,False]) # 국어 점수 오름차순 정렬 후 영어 점수 내림차순 정렬
📃 인덱스 번호 재설정
다음과 같이 정렬 후 인덱스 번호가 섞여 있을 때
📌 reset_index() 을 이용해 인덱스 번호를 바꿔준다.
df.reset_index() # 인덱스 번호 reset
output:
기존 인덱스 번호를 없애고 싶을 때는 drop=True 옵션을 사용한다.
df.reset_index(drop=True) # 인덱스 번호 reset
output:
2. sort_index()
- 인덱스 번호로 정렬해준다. sort_values와 달리 인덱스 번호라는 기준이 있기 때문에 by옵션을 사용할 수 없다.
df.sort_index() # 오름차순 정렬
output:
df.sort_index(ascending=False) # 내림차순 정렬
output:
728x90
728x90
'Programming > Pandas' 카테고리의 다른 글
[Pandas] 타입 변환(astype(), pd.to_datetime(), pd.to_numeric()) (0) | 2023.02.15 |
---|---|
[Pandas] 결측값 처리(isnull(), dropna(), fillna()) (0) | 2023.02.15 |
[Pandas] 조건에 맞는 데이터 추출 (0) | 2023.02.12 |
[Pandas] 원하는 위치의 데이터 추출(loc, iloc) (0) | 2023.02.12 |
[Pandas] 시리즈(Series) 기초 (0) | 2023.02.05 |