[Python] Series 정렬
1. Series 정렬
Reference
Pandas In Actionimport pandas as pd
battles = pd.read_csv(
'./Data/revolutionary_war.csv',
index_col = 'Start Date',
parse_dates = ['Start Date'],
usecols = ['State', 'Start Date'],
squeeze = True
)
battles
tart Date
1774-09-01 Massachusetts
1774-12-14 New Hampshire
1775-04-19 Massachusetts
1775-04-19 Massachusetts
1775-04-20 Virginia
...
1782-09-11 Virginia
1782-09-13 NaN
1782-10-18 NaN
1782-12-06 NaN
1783-01-22 Virginia
Name: State, Length: 232, dtype: object
1-1. 값 기준으로 정렬 :: sort_values
Series.sort_values(
ascending = True, # True : 오름차순 | False : 내림차순
na_position = 'last', # 'last' : NaN을 마지막에 위치 | 'first' : NaN을 처음에 위치
inplace = False # True : 원본 대체 | False : 원본 대체하지 않음
)
- Option
- ascending : 오름차순 / 내림차순 결정
- na_position : NaN값을 어디에 배치할지 결정
- inplace : 원본 대체 여부
battles.sort_values()
battles.sort_values(ascending = True) # battles의 값을 기준으로 오름차순으로 정렬
Start Date
1781-09-06 Connecticut
1779-07-05 Connecticut
1777-04-27 Connecticut
1777-09-03 Delaware
1777-05-17 Florida
...
1782-08-08 NaN
1782-08-25 NaN
1782-09-13 NaN
1782-10-18 NaN
1782-12-06 NaN
Name: State, Length: 232, dtype: object
battles.sort_values(ascending = False) # battles의 값을 기준으로 내림차순 정렬
Start Date
1783-01-22 Virginia
1781-09-28 Virginia
1779-05-10 Virginia
1781-09-05 Virginia
1781-07-06 Virginia
...
1782-08-08 NaN
1782-08-25 NaN
1782-09-13 NaN
1782-10-18 NaN
1782-12-06 NaN
Name: State, Length: 232, dtype: object
battles.sort_values(na_position = 'first')
battles.sort_values(ascending = True, na_position = 'first') # battles의 값을 기준으로 오름차순 정렬, Nan값을 처음에 위치
Start Date
1775-09-17 NaN
1775-12-31 NaN
1776-03-03 NaN
1776-03-25 NaN
1776-05-18 NaN
...
1781-07-06 Virginia
1781-07-01 Virginia
1781-06-26 Virginia
1781-04-25 Virginia
1783-01-22 Virginia
Name: State, Length: 232, dtype: object
1-2. 인덱스 기준으로 정렬 :: Seroes.sort_index( )
Series.sort_index(
ascending = True, # True : 오름차순 | False : 내림차순
na_position = 'last', # 'last' : 마지막에 위치 | 'first' : 처움에 위치
inplace = False # True : 원본 대체 | False : 원본 유지
)
- Option
- ascending : 오름차순 or 내림차순 결정
- na_position : NaN값을 어디에 배치할지 결정
- inplace : 원본 대체 여부
battles.sort_index()
battles.sort_index(ascending = True) # battles의 인덱스를 기준으로 오름차순으로 정렬
Start Date
1774-09-01 Massachusetts
1774-12-14 New Hampshire
1775-04-19 Massachusetts
1775-04-19 Massachusetts
1775-04-20 Virginia
...
1783-01-22 Virginia
NaT New Jersey
NaT Virginia
NaT NaN
NaT NaN
Name: State, Length: 232, dtype: object
battles.sort_index(ascending = False) # battles의 인덱스 기준으로 내림차순으로 정렬
Start Date
1783-01-22 Virginia
1782-12-06 NaN
1782-10-18 NaN
1782-09-13 NaN
1782-09-11 Virginia
...
1774-09-01 Massachusetts
NaT New Jersey
NaT Virginia
NaT NaN
NaT NaN
Name: State, Length: 232, dtype: object
battles.sort_index(na_position = 'first') # battles의 인덱스 기준으로 오름차순 정렬, NaN값을 처음에 위치
Start Date
NaT New Jersey
NaT Virginia
NaT NaN
NaT NaN
1774-09-01 Massachusetts
...
1782-09-11 Virginia
1782-09-13 NaN
1782-10-18 NaN
1782-12-06 NaN
1783-01-22 Virginia
Name: State, Length: 232, dtype: object