Data Analysis & EDA
loc 와 iloc 의 차이 (첫 번째 행을 컬럼(column)으로 지정하기)
심전코
2022. 4. 11. 01:31
데이터프레임을 다루다 보면 수많은 열과 행이 존재한다.
그 중 내가 원하는 데이터만 선택하고 싶은데 어떻게 해야할까?
loc 와 iloc 의 차이
정리가 잘 되어있는 자료를 찾았다.
아래 코드를 코랩을 통해 실행시켜보자.
loc
: label을 통해서 값을 찾는다.
name_index = ['하나의 row 이름',
'row 이름의 리스트',
'row 이름의 리스트 슬라이싱',
'하나의 column 이름',
'column 이름의 리스트',
'column 이름의 리스트 슬라이싱'
]
shape = ['df.loc["row4"]',
'df.loc[["row4,"row5,"row3"]]',
'df.loc["row2":"row5"]',
'df.loc[:,"col1"]',
'df.loc[:,["col4","col6","col3"]]',
'df.loc[:,"col2":"col5"]'
]
shorten = ['',
'',
'df["row2":"row5"]',
'df["col1"]',
'df[["col4","col6","col3"]]',
''
]
dct1 = {
'이름으로 인덱싱하기': name_index,
'기본 형태': shape,
'단축 형태': shorten
}
indexing = pd.DataFrame(dct1)
indexing

iloc
: integer position을 통해 값을 찾는다.
name_index1 = ['하나의 row 이름',
'row 위치의 리스트',
'row 위치의 리스트 슬라이싱',
'하나의 column 위치',
'column 위치의 리스트',
'column 위치의 리스트 슬라이싱'
]
shape1 = ['df.iloc[8]',
'df.iloc[[4,5,3]]',
'df.iloc[2:5]',
'df.iloc[:,3]',
'df.iloc[:,[3,5,6]]',
'df.loc[:,3:7]'
]
shorten1 = ['',
'',
'df[2:5]',
'',
'',
''
]
dct2 = {
'위치로 인덱싱하기': name_index1,
'기본 형태': shape1,
'단축 형태': shorten1
}
indexing1 = pd.DataFrame(dct2)
indexing1

연습문제
앞선 데이터로 이어서 진행하겠다.
# 첫번째 행을 column으로 지정하기
df1 = df.rename(columns=df.iloc[0]).head(5)
df1

