2 분 소요

1. Series 정렬

Reference Pandas In Action
import 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

카테고리:

업데이트: