반응형
16-3 df.iloc[] 이용하기
인덱스 번호를 지정해 행 추출하기
# 0행 추출
df.iloc[0]
"""
id 1
nclass 1
math 50
english 98
science 50
Name: 0, dtype: int64
"""
# 2행 추출
df.iloc[2]
"""
id 3
nclass 1
math 45
english 86
science 78
Name: 2, dtype: int64
"""
행이 1개일 때 데이터 프레임 자료 구조 유지하기
# 시리즈로 추출
df.iloc[0]
"""
id 1
nclass 1
math 50
english 98
science 50
Name: 0, dtype: int64
"""
# 데이터 프레임으로 추출
df.iloc[[0]]
여러 행 추출하기
# 1, 3, 5행 추출
df.iloc[[0, 3, 5]]
연속된 행 추출하기
- df.loc[x:y] = x행 이상 y행 이하 추출
- df.iloc[x:y] = x행 이상 y행 미만 추출
df.loc[1:5] # 1~5행 출력
df.iloc[1:5] # 1~4행 출력
인덱스 문자열만 있어도 인덱스 번호로 행 추출 가능
# 인덱스 문자열이 있는 데이터 프레임
df_label
df_label.iloc[0]
"""
var1 1
var2 4
Name: kim, dtype: int64
"""
인덱스 번호를 지정해 열 추출하기
# 모든 행의 1열 추출
df.iloc[:, 1]
"""
0 1
1 1
2 1
3 1
4 2
5 2
6 2
7 2
8 3
9 3
10 3
11 3
12 4
13 4
14 4
15 4
16 5
17 5
18 5
19 5
Name: nclass, dtype: int64
"""
# 모든 행의 1, 3열 추출
df.iloc[:, [1, 3]]
인덱스 번호를 지정해 행,열 추출
# 2행의 3열 추출
df.iloc[2, 3]
##출력: 86
# 0, 1행의 2, 3열 추출
df.iloc[[0, 1], [2, 3]]
조건을 충족하는 행을 추출할 수 없음
df.loc[ ]와 df.iloc[ ]의 차이점
정리하기
## 1. [] 이용하기
df[df['math'] >= 80] # 조건을 충족하는 행 추출
df[(df['nclass'] == 1) & (df['math'] >= 50)] # 여러 조건을 충족하는 행 추출
df[['id', 'nclass']] # 열 추출
df[df['nclass'] == 1]['math'] # 조건을 충족하는 행에서 열 추출
df[df['nclass'] == 1][['math', 'english']] # 조건을 충족하는 행에서 여러 열 추출
## 2. df.loc[] 이용하기
df.loc['kim'] # 인덱스 문자열로 행 추출
df.loc[['kim', 'park']] # 인덱스 문자열로 여러 행 추출
df.loc[:, 'var1'] # 문자열로 열 추출
df.loc['lee', 'var1'] # 행, 열 모두 문자열로 추출
df.loc[0] # 인덱스 번호로 행 추출
df.loc[[1, 3, 5]] # 인덱스 번호로 여러 행 추출
df.loc[7:9] # 연속된 행 추출: x행 이상 y행 이하
df.loc[:2] # 첫 행부터 추출
df.loc[5:] # 끝 행까지 추출
df.loc[:] # 모든 행 추출
df.loc[df['math'] >= 60] # 조건을 충족하는 행 추출
df.loc[0:3, 'math'] # 조건을 충족하는 행에서 열 추출
df.loc[df['nclass'] == 1, ['math', 'english']] # 조건을 충족하는 행에서 여러 열 추출
## 3. df.iloc[] 이용하기
df.iloc[0] # 인덱스 번호로 행 추출
df.iloc[1:5] # 연속된 행 추출: x행 이상 y행 미만
df.iloc[:, 1] # 인덱스 번호로 열 추출
df.iloc[2, 3] # 행과 열을 모두 인덱스 번호로 추출
df.iloc[[0, 1], [2, 3]] # 여러 행과 여러 열을 모두 인덱스 번호로 추출
※ 해당 내용은 <Do it! 파이썬 데이터 분석>의 내용을 토대로 학습하며 정리한 내용입니다.
반응형
'데이터 분석 학습' 카테고리의 다른 글
16장 데이터를 추출하는 다양한 방법 (2) (0) | 2023.05.11 |
---|---|
16장 데이터를 추출하는 다양한 방법 (1) (1) | 2023.05.10 |
15장 머신러닝을 이용한 예측 분석 (2) (0) | 2023.05.09 |
15장 머신러닝을 이용한 예측 분석 (1) (0) | 2023.05.08 |
14장 통계 분석 기법을 이용한 가설 검정 (2) (0) | 2023.05.07 |