Data Indexing, Selection, Assigning
import pandas as pd
df = pd.read_csv("exercise_1.csv", index_col="번호")
Data를 분석하기 위해서는 필요한 데이터를 선택하고, 정제하는 과정이 필요하다.
DataFrame에서 필요한 데이터를 선택하는 방법을 알아보자.
Naive accessors
df.head()
국어 | 영어 | 수학 | 과학 | 국사 | |
---|---|---|---|---|---|
번호 | |||||
0 | 95.0 | 50 | 80.0 | 84.0 | 90 |
1 | 80.0 | 74 | 62.0 | 77.0 | 92 |
2 | 95.0 | 94 | 96.0 | 97.0 | 99 |
3 | 80.0 | 60 | NaN | 75.0 | 77 |
4 | 75.0 | 95 | 85.0 | 74.0 | 64 |
기본적으로 pandas는 DataFrame의 column 명으로 데이터를 선택할 수 있다.
df.국어
번호 0 95.0 1 80.0 2 95.0 3 80.0 4 75.0 5 NaN 6 60.0 7 75.0 8 77.0 9 79.0 Name: 국어, dtype: float64
df.column명 명령어을 통해 해당 column에 해당하는 값을 확인할 수 있다.
df["국어"]
번호 0 95.0 1 80.0 2 95.0 3 80.0 4 75.0 5 NaN 6 60.0 7 75.0 8 77.0 9 79.0 Name: 국어, dtype: float64
df["column 명"] 명령어를 통해서도 해당 column의 값을 확인할 수 있다.
국어 column의 0번째 index 값은 다음과 같이 확인할 수 있다.
df["국어"][0]
95.0
Indexing in pandas
Index-based selection
앞서 column을 기준으로 데이터를 selection을 하였고, 이제는 index를 기준으로 데이터를 selection 하는 법을 알아보겠다
df.iloc[0]
국어 95.0 영어 50.0 수학 80.0 과학 84.0 국사 90.0 Name: 0, dtype: float64
이 명령어를 통해 0번째 index에 해당하는 번호 0의 값을 확인할 수 있다.
df.iloc[idex, column] 으로 원하는 값을 selection 할 수 있다.
df.iloc[:, 0]
번호 0 95.0 1 80.0 2 95.0 3 80.0 4 75.0 5 NaN 6 60.0 7 75.0 8 77.0 9 79.0 Name: 국어, dtype: float64
위 명령어를 보면 index는 : 를 통해 모든 index의 값을 선택하였고, 그 중에서 0번째 column 값, 즉 국어 값만 selection 하였다.
df.iloc[:3, 0]
번호 0 95.0 1 80.0 2 95.0 Name: 국어, dtype: float64
index는 :3을 통해 0 부터 2(3-1)까지를 선택하였고, 그 중에서 0번째 column 값, 즉 국어 값만 selection 하였다.
df.iloc[[0,1,2], 0]
번호 0 95.0 1 80.0 2 95.0 Name: 국어, dtype: float64
index를 0,1,2로 구체적으로 지정해 주고, 0번째 column 값을 선택하였다.
Label-based selection
loc 명령어를 통해 index에 해당하는 숫자가 아닌 해당 index 혹은 column 명을 직접 지정하여 데이터를 선택할 수 있다.
df.loc[0, "국어"]
95.0
위 명령어를 통해 0번 행의 "국어" 값을 확인할 수 있다.
df.loc[:, ["국어","영어", "수학"]]
국어 | 영어 | 수학 | |
---|---|---|---|
번호 | |||
0 | 95.0 | 50 | 80.0 |
1 | 80.0 | 74 | 62.0 |
2 | 95.0 | 94 | 96.0 |
3 | 80.0 | 60 | NaN |
4 | 75.0 | 95 | 85.0 |
5 | NaN | 55 | 66.0 |
6 | 60.0 | 75 | 85.0 |
7 | 75.0 | 85 | 95.0 |
8 | 77.0 | 74 | 75.0 |
9 | 79.0 | 77 | 95.0 |
이 명령어를 통해 모든 index 값의 국어, 영어, 수학 값을 선택할 수 있다.
이 내용은 kaggle pandas tutorial 내용을 기반으로 제가 공부한 내용을 필기한 내용입니다.
'Pandas 기초' 카테고리의 다른 글
리스트(list)를 데이터 프레임(dataframe) 만들기 (0) | 2024.05.10 |
---|---|
[pandas] dataframe에 column 추가 하기, insert 함수 (0) | 2023.11.04 |
[pandas]CSV 파일 불러오기 (0) | 2023.08.06 |
[pandas]데이터 생성 (0) | 2023.08.05 |