Notice
Recent Posts
Recent Comments
Link
소연이의 메모장
[Pandas] 열과 행 단위로 데이터 추출하기(loc, iloc) 본문
반응형
데이터는 kaggel의 creditcard 데이터를 활용하였다.
열 단위의 데이터 추출
# 하나의 열 데이터 추출
v1 = data['V1']
type(v1)
> pandas.core.series.Series
v1.head()
> 0 -1.359807
1 1.191857
2 -1.358354
3 -0.966272
4 -1.158233
Name: V1, dtype: float64
# 여러개의 열 데이터 추출
v3 = data[['V1','V2','V3']]
type(v3) ## 하나의 열 데이터를 추출할 때와 달리 dataframe 형식임
> pandas.core.frame.DataFrame
v3.head()
> V1 V2 V3
0 -1.359807 -0.072781 2.536347
1 1.191857 0.266151 0.166480
2 -1.358354 -1.340163 1.773209
3 -0.966272 -0.185226 1.792993
4 -1.158233 0.877737 1.548718
행 단위의 데이터 추출
속성 | 설명 |
loc | Index를 기준으로 행 데이터 추출 |
iloc | 행 번호를 기준으로 행 데이터 추출 |
# loc
v3.loc[1]
> V1 1.191857
V2 0.266151
V3 0.166480
Name: 1, dtype: float64
# 여러개의 인덱스에 접근하여 행 추출
v3.loc[[0,3,5]]
> V1 V2 V3
0 -1.359807 -0.072781 2.536347
3 -0.966272 -0.185226 1.792993
5 -0.425966 0.960523 1.141109
# iloc
v3.iloc[1]
> V1 1.191857
V2 0.266151
V3 0.166480
Name: 1, dtype: float64
v3.iloc[-1]
> V1 -0.533413
V2 -0.189733
V3 0.703337
Name: 284806, dtype: float64
# 여러개의 행 추출
v3.iloc[[0,3,5]]
> V1 V2 V3
0 -1.359807 -0.072781 2.536347
3 -0.966272 -0.185226 1.792993
5 -0.425966 0.960523 1.141109
loc와 iloc의 비교
loc_v3 = v3.loc[:,['V1','V3']]
loc_v3.head()
> V1 V3
0 -1.359807 2.536347
1 1.191857 0.166480
2 -1.358354 1.773209
3 -0.966272 1.792993
4 -1.158233 1.548718
loc_v3 = v3.loc[:,[0,2]]
loc_v3.head()
> KeyError: "None of [Int64Index([0, 2], dtype='int64')] are in the [columns]"
iloc_v3 = v3.iloc[:,[0,2]]
iloc_v3.head()
> V1 V3
0 -1.359807 2.536347
1 1.191857 0.166480
2 -1.358354 1.773209
3 -0.966272 1.792993
4 -1.158233 1.548718
iloc_v3 = v3.iloc[:,['V1','V3']]
iloc_v3
> IndexError: .iloc requires numeric indexers, got ['V1' 'V3']
'Programming > Python' 카테고리의 다른 글
[Pandas] 그룹화된 평균값을 시각화하기 (0) | 2022.10.24 |
---|---|
[Pandas] 그룹별 평균 구하기 (0) | 2022.10.24 |
[Pandas] csv 파일 불러오기 (0) | 2022.10.24 |
[Python] warning 메시지 숨기는 방법 (0) | 2022.08.16 |
[Python] 시각화를 위한 한글 폰트 설정 (0) | 2022.08.16 |