Python
[Python] 파이썬으로 엑셀 다루기 및 인덱싱 속도
dev_haha
2024. 2. 15. 15:44
원본 엑셀파일을
pandas read_excel로 읽어서 dataframe으로 받는다.
dataframe 다루기
iloc
loc
at
iat
등등 있음
iloc / loc 는 인덱싱에 사용됨.
loc는 레이블(컬럼명)을 기준으로 행/열 선택
df.loc['d':, 'B':'C']
d행의 B열~C열 선택
iloc는 위치(인덱스나 컬럼의 정수번호)를 기준으로 행/열 선택
df.iloc[3:, 1:3]
위와 동일하게 d행의 B열~C열 선택인데
정수표현으로 함
at / iat 은 단일값을 다룸.
at은 행 인덱스와 열 이름을 사용해서 값을 가져오거나 변경
df.at['a', 'A']
또는
df.at[0, 'A']
하면 첫 행의 A열의 값을 가져옴
iat은 행변호와 열번호를 사용해서 값을 가져오거나 변경
df.iat[2, 2]
3번째 행의 3번째 열의 값을 가져온다.
at과 iat은 단일 값에만 적용되므로
여러 값, 범위를 인덱싱 하려면 loc / iloc를 사용해야 한다.
그런데 at/iat이 loc/iloc 보다 속도가 빠르다는 장점이 있다. (당연한거 아닝가..?)
그리고 오히려 숫자 인덱셍을 사용하는 iat/iloc이 더 느리당 (우왕 싱기. 당연히 숫자 인덱싱이 더 빠를줄)
속도 비교 참고 블로그 ↓
https://devocean.sk.com/blog/techBoardDetail.do?ID=164657&boardType=techBlog
Pandas 인덱싱 속도 높이기 - loc, iloc, at, iat, ix
devocean.sk.com