행 선택
판다스에서 행을 선택하는 여러 가지 방법을 알아봅니다. 먼저 예제 데이터를 엽니다.
import pandas as pd
df = pd.read_excel('census.xlsx')
인덱스
행 번호는 .index
로 확인할 수 있습니다.
df.index
RangeIndex(start=0, stop=32561, step=1) ...
인덱스로 선택하기
.loc[인덱스]
로 특정 인덱스의 행을 선택할 수 있습니다. 0번 인덱스 행을 선택하려면 다음과 같이 합니다.
df.loc[0]
age 39 workclass State-gov fnlwgt 77516 education Bachelors education_num 13 marital_status Never-married occupation Adm-clerical relationship Not-in-family race White sex Male capital_gain 2174 capital_loss 0 hours_per_week 40 native_country United-States income <=50K Name: 0, dtype: object
3번 인덱스 행을 선택하려면 다음과 같이 합니다.
df.loc[3]
age 53 workclass Private fnlwgt 234721 education 11th education_num 7 marital_status Married-civ-spouse occupation Handlers-cleaners relationship Husband race Black sex Male capital_gain 0 capital_loss 0 hours_per_week 40 native_country United-States income <=50K Name: 3, dtype: object
여러 행 선택
.loc[[인덱스1, 인덱스2, ...]]
와 같이 여러 행을 선택할 수 있습니다.
df.loc[[3, 4, 5]]
age | workclass | fnlwgt | education | education_num | marital_status | occupation | relationship | race | sex | capital_gain | capital_loss | hours_per_week | native_country | income | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
3 | 53 | Private | 234721 | 11th | 7 | Married-civ-spouse | Handlers-cleaners | Husband | Black | Male | 0 | 0 | 40 | United-States | <=50K |
4 | 28 | Private | 338409 | Bachelors | 13 | Married-civ-spouse | Prof-specialty | Wife | Black | Female | 0 | 0 | 40 | Cuba | <=50K |
5 | 37 | Private | 284582 | Masters | 14 | Married-civ-spouse | Exec-managerial | Wife | White | Female | 0 | 0 | 40 | United-States | <=50K |
:
을 이용해서 범위로 선택할 수도 있습니다.
df.loc[3:5]
age | workclass | fnlwgt | education | education_num | marital_status | occupation | relationship | race | sex | capital_gain | capital_loss | hours_per_week | native_country | income | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
3 | 53 | Private | 234721 | 11th | 7 | Married-civ-spouse | Handlers-cleaners | Husband | Black | Male | 0 | 0 | 40 | United-States | <=50K |
4 | 28 | Private | 338409 | Bachelors | 13 | Married-civ-spouse | Prof-specialty | Wife | Black | Female | 0 | 0 | 40 | Cuba | <=50K |
5 | 37 | Private | 284582 | Masters | 14 | Married-civ-spouse | Exec-managerial | Wife | White | Female | 0 | 0 | 40 | United-States | <=50K |
행과 열을 선택
.loc[행, 열]
형식으로 행과 열을 고를 수 있습니다.
df.loc[3:5, 'age']
3 53 4 28 5 37 Name: age, dtype: int64
위치로 선택
.iloc
은 인덱스가 아닌 위치를 기준으로 행과 열을 선택합니다.
아래 df2
는 df
에서 3~5 인덱스 행을 뽑아 만든 표입니다.
df2 = df.loc[3:5]
df2
age | workclass | fnlwgt | education | education_num | marital_status | occupation | relationship | race | sex | capital_gain | capital_loss | hours_per_week | native_country | income | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
3 | 53 | Private | 234721 | 11th | 7 | Married-civ-spouse | Handlers-cleaners | Husband | Black | Male | 0 | 0 | 40 | United-States | <=50K |
4 | 28 | Private | 338409 | Bachelors | 13 | Married-civ-spouse | Prof-specialty | Wife | Black | Female | 0 | 0 | 40 | Cuba | <=50K |
5 | 37 | Private | 284582 | Masters | 14 | Married-civ-spouse | Exec-managerial | Wife | White | Female | 0 | 0 | 40 | United-States | <=50K |
df2
에서 3번 인덱스 행은 df
의 3번 인덱스 행과 같습니다.
df2.loc[3]
age 53 workclass Private fnlwgt 234721 education 11th education_num 7 marital_status Married-civ-spouse occupation Handlers-cleaners relationship Husband race Black sex Male capital_gain 0 capital_loss 0 hours_per_week 40 native_country United-States income <=50K Name: 3, dtype: object
그리고 3번 인덱스 행은 df2
의 0번째입니다..
df2.iloc[0]
age 53 workclass Private fnlwgt 234721 education 11th education_num 7 marital_status Married-civ-spouse occupation Handlers-cleaners relationship Husband race Black sex Male capital_gain 0 capital_loss 0 hours_per_week 40 native_country United-States income <=50K Name: 3, dtype: object
age
는 0번째 열이므로 iloc
으로 선택할 때는 다음과 같이 합니다.
df.iloc[3, 0]
53