Post

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. 데이터 선택 및 조작 팁

  1. 속도 최적화
    • 대규모 데이터에서는 조건 필터링과 정렬 작업에 신중해야 합니다.
  2. 결과 저장
    • Pandas는 기본적으로 작업 결과를 반환하며 원본 데이터는 변경되지 않습니다. 결과를 저장하려면 변수에 할당하거나 inplace=True를 사용하세요.

정리

  • Pandas는 데이터 선택과 조작을 위한 다양한 도구를 제공합니다.
  • loc, iloc, 조건 필터링을 사용해 데이터를 효율적으로 선택할 수 있습니다.
  • 데이터 추가, 삭제, 갱신, 정렬과 같은 작업도 직관적으로 수행할 수 있습니다.

다음 글 예고:
데이터 처리 과정에서 자주 필요한 “결측치와 중복 데이터 처리”를 다뤄보겠습니다!

This post is licensed under CC BY 4.0 by the author.