사용할 때면 헷갈리는 pandas indexing을 정리해보자.
예시)
import pandas as pd
data = pd.DataFrame({'col0' : [1, 2, 3],
'col1' : [10, 20, 30],
'col2' : [100, 200, 300]})
data
-> 행만 추출
data.iloc[0] #series
data.iloc[0:1] #dataframe
-> 열만 추출
data.iloc[:,1] #series
data.iloc[:, 0:2] #dataframe
-> 행, 열 추출
data.iloc[1, 0:2]
data.iloc[1:2, 0:2]
예시)
-> 행만 추출
이 샘플 데이터에서는 결과는 똑같지만 data.iloc[1]
과는 다르게 data.loc[1]
은 행 이름이 1인 행을 리턴한다.
data.loc[1] #series
data.iloc[1:2]
은 index 번호로 indexing하기 때문에 1행만 리턴되는 반면에 data.loc[1:2]
는 행 이름으로 indexing하기 때문에 1행과 2행이 리턴되는 것을 알 수 있다.
data.loc[1:2] #dataframe
-> 열만 추출
data.loc[:, 'col1'] #series
data.loc[:,['col0']] #dataframe
-> 행, 열 추출
data.loc[2,['col0']] #series
data.loc[1:2,'col0':'col1']
velog도 사진 정렬이 가능하면 좋겠다...