본 포스트에서는 데이터프레임을 다루는 여러가지 코드에 대해 알아본다.
먼저 데이터는 아래와 같다.
import pandas as pd
# 예시 데이터
data = {
'도시': ['서울', '부산', '대구'],
'인구': [1000, 500, 300],
'면적': [605.21, 770.04, 883.56]
}
# 데이터프레임 생성
df = pd.DataFrame(data)
1. 특정 행 또는 열을 추출하는 방법
- 특정 열 추출: df['컬럼명']
- 여러 열 추출: df[['컬럼1', '컬럼2']]
- 특정 행 추출: df.loc[행의 레이블]
- 특정 행 추출: df.iloc[행의 인덱스]
*loc와 iloc가 얼핏 보면 같아 보이지만, loc는 레이블 이름을 기준으로 하는데 반해, iloc는 인덱스를 기준으로 한다.
(둘의 차이는 아래에서 극명히 드러난다.)
loc는 레이블을 기준으로 위 df에서 1번 행, 2번 행을 불러온거라면,
iloc는 인덱스를 기준으로 위 df에서 두번째 행(부산)만을 가져온 것이다.
(파이썬에서 인덱스를 지정할 때 0이 첫번째를 의미하며, [X:Y]는 X+1번째 행부터 Y-1번째 행까지를 의미한다.)
2. 컬럼 추가 및 수정
- 컬럼 추가: df['새로운 컬럼명'] = value를 사용해 새로운 컬럼을 추가
- 컬럼명 변경: df.rename(columns={'기존의 컬럼명' : '새로운 컬럼명'}, inplace=True
df.columns = ['컬럼1의 새이름', '컬럼2의 새이름', ... ]
(모든 컬럼명을 한번에 변경할 때 유용)
*inplace가 true일 경우, 원본 데이터프레임이 바로 수정되며, 반대로 false일 경우 원본 데이터프레임은 수정되지 않음
- 컬럼 수정: df['기존에 있는 컬럼명'] = new_value를 사용해 기존 컬럼의 값을 수정
(240115 추가)
3. 특정 값을 가진 행만을 추출하는 방법
- 특정 값을 가지고 있는 행만 추출: df[df['컬럼명'] == '특정 값']
- 특정 값을 가지고 있는 행만 추출(여러 값을 가진 행을 추출할 때): df[df['컬럼명'].isin(['특정 값1', '특정 값2'])]
'내가 공부한 것들' 카테고리의 다른 글
[파이썬] 판다스 데이터프레임 loc 및 iloc 정확하게 이해하기 (0) | 2024.01.17 |
---|---|
[파이썬] csv 및 Excel 가져오기, 내보내기 (0) | 2024.01.04 |
[파이썬] 리스트 내포(List comprehension) (0) | 2024.01.02 |
[파이썬] 경로설정을 할 때 반드시 주의할 것 (0) | 2023.05.12 |
[파이썬] 데이터프레임에서 조건에 맞는 행(Row) 추출하는 방법 (0) | 2022.12.18 |