DataFrame에서 행을 조회하는 방법은 loc이다. (#026 참고)
[100일 챌린지] 파이썬 pandas 자료형 DataFrame 완전 정복 1탄 (다시 기초부터!) #026
그런데 가끔 iloc도 사용된다.
loc와 iloc의 차이는 무엇일까?
다시 아래 엑셀 파일로 테스트해보자.
pandas로 엑셀을 읽어와 iloc를 해보면, loc로 호출한 내용과 동일하다.
(loc 내용은 #026을 참고해 주세요)
1. DataFrame에서 인덱스를 지정한다면?
#024에서 인덱스 칼럼을 지정했었다. (B열 '지출목적별')
[100일 챌린지] 엑셀을 읽어 간단하게 그래프 그리기 (인덱스 지정, 열 삭제) #024
그리고 나서 loc를 호출해보면...
위 내용 때문에 멘붕이 왔다.
loc면 다 되는거 아니었냐규!!!
pandas.pydata.org에 가보면 함수의 차이를 알 수 있다.
[100일 챌린지] pandas.pydata.org 에서 pandas API 찾기 #025
DataFrame.loc Purely label-location based indexer for selection by label.
DataFrame.iloc Access group of rows and columns by integer position(s).
- pandas.pydata.org -
loc는 label 기반, iloc는 숫자 위치 기반이라는 것을 알 수 있다.
index_col로 인덱스 칼럼을 지정했기에 인덱스가 더 이상 숫자가 아닌 것이다.
따라서, 아래처럼 인덱스 명을 넣어주어야 한다.
그런데 인덱스 명을 모를 수 있고, 위치로만 알고 싶을 때는?
그때 iloc를 이용하면 된다.
책에서 알려주는 대로 따라 했지만, 결국 이렇게 API 레퍼런스를 확인해보게 되는...ㅋㅋ
728x90
'파이썬 100일 챌린지' 카테고리의 다른 글
[100일 챌린지] 파이썬 pandas 자료형 DataFrame 완전 정복 3탄 (column, index 정보 가져오기) #029 (0) | 2021.06.20 |
---|---|
[100일 챌린지] 파이썬 그래프 크기와 해상도 설정, 이미지 파일 저장 (feat, plt) #028 (0) | 2021.06.19 |
[100일 챌린지] 파이썬 pandas 자료형 DataFrame 완전 정복 1탄 (다시 기초부터!) #026 (0) | 2021.06.17 |
[100일 챌린지] pandas.pydata.org 에서 pandas API 찾기 #025 (0) | 2021.06.14 |
[100일 챌린지] 파이썬 엑셀을 읽어 간단하게 그래프 그리기 (인덱스 지정, 열 삭제) #024 (0) | 2021.06.13 |