방명록
- [Python] pandas library DataFrame .loc vs .iloc2024년 01월 04일 23시 42분 17초에 업로드 된 글입니다.작성자: 묭동이
.loc
- .loc: is primarily label based
- 주로 "레이블"과 관련된 처리를 하며 부울 타입의 배열(데이터)도 처리가 가능
DataFrame .loc 예시
딕셔너리 형태의 DataFrame 생성하기
아래 코드 결과와 같이 DataFrame(2차원 이상) 형태로 반환하고 싶은 경우 [[]]로 처리
첫번째 코드는 column을 지정하지 않고 row(행)만 선택한 예시이다
column을 지정하지 않았으므로 모든 칼럼이 선택된 것을 확인할 수 있다
두번째 코드는 row('E', 'F')와 column('team', 'assists')을 모두 지정하여 선택한 예시이다
세번째 코드는 slicing(슬라이싱)을 사용하여 row와 column을 선택한 예시이다
numpy array와 시퀀스 타입의 슬라이싱과 동일한 로직임을 확인할 수 있다
- 위 사진에서 설명하는 것을 유의깊게 봐야 한다.
- python의 슬라이싱의 경우 마지막 stop의 전 까지만 데이터를 가져옴
- 반면, .loc의 경우 stop을 포함한다.
아래 코드를 보면 리스트의 슬라이싱은 stop을 포함하지 않으며, DataFrame의 .loc의 경우 stop을 포함하는 것을 알 수 있다.
.iloc
- .iloc: is primarily integer position based
- .iloc는 '정수 위치 기반(integer-location based)' 인덱싱을 제공하며, 이를 통해 DataFrame의 행과 열을 정수 인덱스를 사용하여 접근할 수 있다.
- 부울 타입의 배열(데이터)도 처리가 가능
- 이 기능은 Python의 기본적인 리스트 슬라이싱과 유사하게 동작
- 주의 사항
- .iloc은 정수 인덱스만 사용하므로, 열 또는 행의 이름을 사용하여 접근할 수 없음
- 이름을 사용하려면 .loc 인덱서를 사용해야 한다.
- Python의 일반적인 인덱싱 규칙을 따름
- 즉, 시작 인덱스는 포함되지만, 끝 인덱스는 포함되지 않음
- .iloc은 정수 인덱스만 사용하므로, 열 또는 행의 이름을 사용하여 접근할 수 없음
DataFrame .iloc 예시
딕셔너리 형태의 DataFrame 생성하기
주의사항에서 언급했듯이 python의 슬라이싱과 유사하므로 stop을 포함하지 않는다 !
틀린 부분 댓글로 작성해주시면 감사하겠습니다 😊
Reference
- https://www.statology.org/pandas-loc-vs-iloc/https://stackoverflow.com/questions/54718821/python-pandas-does-loc-and-iloc-stand-for-anything
- https://stackoverflow.com/questions/54718821/python-pandas-does-loc-and-iloc-stand-for-anything
- https://vamos00.notion.site/6-pandas-ab452cea54e4491a8a3806c1e734d080?pvs=4
- 학과에서 공부한 내용을 간략하게 정리해놓은 노션 자료 입니다. 도움이 되셨으면 좋겠습니다 :)
- https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.loc.html#pandas.DataFrame.loc
- https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.iloc.html#pandas.DataFrame.iloc
'Data Analystics > pandas' 카테고리의 다른 글
[Pandas] concat() 메소드를 사용하여 데이터 통합하기 (2) 2024.01.08 [Pandas] manipulate textual data(문자형 데이터 다루기) (2) 2024.01.06 [Pandas] File Handling (2) 2024.01.05 [Pandas] library DataFrame .loc condition(조건문) (0) 2024.01.05 [Pandas] 라이브러리 (0) 2023.12.30 다음글이 없습니다.이전글이 없습니다.댓글