포스팅 목적
데이터프레임에서 .loc[]의 사용에 대해 한번 점검하려고 포스팅!
본론
예제코드
Animal칼럼, 최대스피드 칼럼을 가진 데이터프레임을 아래와 같이 만들었다.
import pandas as pd
df = pd.DataFrame({'Animal': ['Falcon', 'Falcon', 'Parrot', 'Parrot'],
'Max Speed': [380, 370, 24, 26]},
index=[4,4,5,'긹'])
df
.loc[ ]는 인덱스로 '행'을 조회하는 프로퍼티
dataframe loc를 검색하면 'label'을 이용해 행과 열 데이터에 접근하는 프로퍼티라 한다.
이때 loc[ _ ] 에 들어가는 레이블은 인덱스를 의미한다.
인덱스는 0, 1, 2, ... 이렇게 나가는 integer position을 의미하는 것이 아니고,
위 예제에서의 4,4,5,긹을 인덱스라 한다.!
즉 .loc[] 프로퍼티로 인덱스를 지정하여 해당 값을 꺼내올 수 있다!
(integer position 을 기준으로 데이터를 뽑으려면 iloc를 써야함.)
하나 더, 인덱스는 유니크해야한다고 생각하기 쉽지만
데이터프레임에서는 위에서 관찰한 것처럼 인덱스값이 중복될 수 있다.
아래 코드에서 보면 loc프로퍼티를 이용하여 '긹' 인덱스를 가진 데이터를 뽑아내는 것을 볼 수 있다.
'긹'에 해당하는 데이터가 1개이므로 시리즈가 반환되었고,
.loc[4]를 수행하였을 때에는 2개 행데이터가 선택되므로 데이터프레임이 반환되었다.
마무리
데이터프레임에서 인덱스는 중복이 가능하다는 사실과,
어렴풋이 알고만 있던 loc를 한번 사용해보는데 의의를 둔 포스팅!
'PL > Python' 카테고리의 다른 글
pandas groupby cumcount 사용법 이해 (0) | 2022.12.06 |
---|---|
[코드 스터디] UCI-HAR 데이터셋2: 중복칼럼 리네이밍 (0) | 2022.11.23 |
pandas Dataframe, Series 차이점 정리 (데이터프레임, 시리즈) (0) | 2022.10.31 |
데이터프레임에서 for loop을 사용하는 다양한 방법 (1) | 2022.10.28 |
[코드 스터디] UCI-HAR 데이터셋1: 중복칼럼 확인 (0) | 2022.10.28 |
댓글