Pandas 데이터 분석: 데이터 선택 및 조작
데이터 선택, 필터링, 데이터 추가, 삭제, 갱신 등의 조작 방법
Pandas는 데이터를 쉽게 선택하고 조작할 수 있는 다양한 기능을 제공합니다. 이번 글에서는 데이터 선택, 필터링, 데이터 추가, 삭제, 갱신 등의 조작 방법을 알아보겠습니다.
1. 데이터 선택
Pandas에서는 데이터를 선택하는 여러 방법을 제공합니다.
1) 열(column) 선택
1. 기본 선택
1
2
3
4
5
6
7
8
9
10
11
12
13
import pandas as pd
# DataFrame 생성
data = {"Name": ["Alice", "Bob", "Charlie"], "Age": [25, 30, 35]}
df = pd.DataFrame(data)
# 특정 열 선택
print(df["Name"])
# 출력:
# 0 Alice
# 1 Bob
# 2 Charlie
# Name: Name, dtype: object
2. 여러 열 선택
1
2
3
4
5
6
7
# 여러 열 선택
print(df[["Name", "Age"]])
# 출력:
# Name Age
# 0 Alice 25
# 1 Bob 30
# 2 Charlie 35
2) 행(row) 선택
1. iloc
를 사용한 인덱스 기반 선택
1
2
3
4
5
6
# 첫 번째 행 선택
print(df.iloc[0])
# 출력:
# Name Alice
# Age 25
# Name: 0, dtype: object
2. loc
를 사용한 라벨 기반 선택
1
2
3
4
5
6
7
# 특정 행 선택
df.index = ["A", "B", "C"]
print(df.loc["A"])
# 출력:
# Name Alice
# Age 25
# Name: A, dtype: object
3) 조건 필터링
1. 조건에 맞는 행 선택
1
2
3
4
5
6
7
# 나이가 30 이상인 데이터 선택
filtered = df[df["Age"] >= 30]
print(filtered)
# 출력:
# Name Age
# 1 Bob 30
# 2 Charlie 35
2. 여러 조건 적용
1
2
3
# 나이가 25 이상이고 이름이 Bob이 아닌 데이터 선택
filtered = df[(df["Age"] >= 25) & (df["Name"] != "Bob")]
print(filtered)
2. 데이터 조작
1) 데이터 추가
1. 열 추가
1
2
3
4
5
6
7
8
# Job 열 추가
df["Job"] = ["Engineer", "Doctor", "Teacher"]
print(df)
# 출력:
# Name Age Job
# 0 Alice 25 Engineer
# 1 Bob 30 Doctor
# 2 Charlie 35 Teacher
2. 행 추가
1
2
3
4
5
6
7
8
9
10
# 새로운 행 추가
new_row = {"Name": "David", "Age": 40, "Job": "Artist"}
df = df.append(new_row, ignore_index=True)
print(df)
# 출력:
# Name Age Job
# 0 Alice 25 Engineer
# 1 Bob 30 Doctor
# 2 Charlie 35 Teacher
# 3 David 40 Artist
2) 데이터 삭제
1. 열 삭제
1
2
3
4
5
6
7
8
# Job 열 삭제
df = df.drop("Job", axis=1)
print(df)
# 출력:
# Name Age
# 0 Alice 25
# 1 Bob 30
# 2 Charlie 35
2. 행 삭제
1
2
3
4
5
6
7
# 첫 번째 행 삭제
df = df.drop(0)
print(df)
# 출력:
# Name Age
# 1 Bob 30
# 2 Charlie 35
3) 데이터 갱신
1. 특정 값 변경
1
2
3
4
5
6
7
# Bob의 나이를 32로 변경
df.loc[1, "Age"] = 32
print(df)
# 출력:
# Name Age
# 1 Bob 32
# 2 Charlie 35
2. 여러 값 변경
1
2
3
# Age 열의 모든 값을 5씩 증가
df["Age"] += 5
print(df)
3. 데이터 정렬
Pandas에서는 데이터를 정렬하는 간단한 방법을 제공합니다.
1. 열 기준 정렬
1
2
3
# 나이(Age) 기준 오름차순 정렬
df = df.sort_values("Age")
print(df)
2. 내림차순 정렬
1
2
3
# 나이(Age) 기준 내림차순 정렬
df = df.sort_values("Age", ascending=False)
print(df)
4. 데이터 선택 및 조작 팁
- 속도 최적화
- 대규모 데이터에서는 조건 필터링과 정렬 작업에 신중해야 합니다.
- 결과 저장
- Pandas는 기본적으로 작업 결과를 반환하며 원본 데이터는 변경되지 않습니다. 결과를 저장하려면 변수에 할당하거나
inplace=True
를 사용하세요.
- Pandas는 기본적으로 작업 결과를 반환하며 원본 데이터는 변경되지 않습니다. 결과를 저장하려면 변수에 할당하거나
정리
- Pandas는 데이터 선택과 조작을 위한 다양한 도구를 제공합니다.
loc
,iloc
, 조건 필터링을 사용해 데이터를 효율적으로 선택할 수 있습니다.- 데이터 추가, 삭제, 갱신, 정렬과 같은 작업도 직관적으로 수행할 수 있습니다.
다음 글 예고:
데이터 처리 과정에서 자주 필요한 “결측치와 중복 데이터 처리”를 다뤄보겠습니다!
This post is licensed under CC BY 4.0 by the author.