[개발] 파이썬

7.2. Pandas

브랜든정 2024. 12. 30. 10:38
반응형

파이썬 Pandas로 데이터프레임 생성과 조작 필터링과 정렬의 기초

파이썬의 Pandas 라이브러리는 데이터 분석과 처리에 널리 활용되는 도구입니다. 데이터프레임(DataFrame)은 2차원 데이터 구조로, 효율적으로 데이터를 관리하고 분석할 수 있도록 지원합니다. 이 글에서는 파이썬 Pandas를 사용하여 데이터프레임을 생성하고 조작하는 방법, 특히 필터링과 정렬에 대한 기초를 다루겠습니다.

1. 파이썬 Pandas 설치 및 import

먼저 Pandas 모듈을 설치하고 import하는 방법을 살펴보겠습니다. Pandas는 pip을 통해 설치할 수 있습니다.

pip install pandas

아나콘다 환경을 사용하는 경우 conda를 사용하여 설치할 수 있습니다.

conda install pandas

Pandas를 import하는 방법은 다음과 같습니다.

import pandas as pd

2. 데이터프레임 생성

데이터프레임을 생성하는 방법에는 여러 가지가 있습니다. 가장 일반적인 방법은 CSV 파일을 읽어 들여 데이터프레임으로 변환하는 것입니다.

# CSV 파일 읽기
df = pd.read_csv('./datasets/data.csv')

또는 직접 데이터프레임을 생성할 수도 있습니다.

# 직접 데이터프레임 생성
data = {
    'ID': [1, 2, 3],
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35]
}
df = pd.DataFrame(data)

3. 데이터프레임의 구조 확인

데이터프레임의 구조를 확인하려면 info() 메서드를 사용합니다.

print(df.info())

이 메서드는 데이터프레임의 각 열의 데이터 타입, 비어 있는 값의 개수, 그리고 데이터프레임의 크기를 출력합니다.

4. 필터링

필터링은 데이터프레임에서 특정 조건에 맞는 행을 선택하는 것을 의미합니다. Pandas에서 필터링을 하기 위해서는 loc[] 또는 query() 메서드를 사용합니다.

4.1 loc[] 메서드 사용

loc[] 메서드는 행과 열의 인덱스를 사용하여 데이터프레임에서 특정 행을 선택합니다.

# 특정 행 선택
filtered_df = df.loc[df['Age'] > 30]

4.2 query() 메서드 사용

query() 메서드는 SQL-like 쿼리를 사용하여 데이터프레임에서 필터링을 합니다.

# SQL-like 쿼리 사용
filtered_df = df.query('Age > 30')

5. 정렬

정렬은 데이터프레임의 행을 특정 열에 따라 정렬하는 것을 의미합니다. Pandas에서 정렬을 하기 위해서는 sort_values() 메서드를 사용합니다.

# 특정 열에 따라 정렬
sorted_df = df.sort_values(by='Age')

정렬 방향을 지정하려면 ascending 매개변수를 사용합니다.

# 오름차순 정렬
sorted_df = df.sort_values(by='Age', ascending=True)

# 내림차순 정렬
sorted_df = df.sort_values(by='Age', ascending=False)

6. 결측치 처리

데이터프레임에서 결측치 처리는 필터링과 정렬과 함께 중요합니다. Pandas에서 결측치를 처리하기 위해서는 isnull() 메서드를 사용하여 결측치를 확인하고, dropna() 메서드를 사용하여 결측치를 제거하거나 대체할 수 있습니다.

# 결측치를 확인
null_df = df.isnull()

# 결측치를 제거
cleaned_df = df.dropna()

7. 필요 없는 변수 제거

데이터프레임에서 필요 없는 변수를 제거하는 방법은 drop() 메서드를 사용하는 것입니다.

# ID 열 제거
cleaned_df = df.drop('ID', axis=1)

8. 데이터프레임의 통계 정보 확인

데이터프레임의 통계 정보를 확인하려면 describe() 메서드를 사용합니다.

print(df.describe())

이 메서드는 각 열의 통계 정보를 출력합니다.

9. 데이터프레임의 행과 열 이름 변경

데이터프레임의 행과 열 이름을 변경하려면 rename() 메서드를 사용합니다.

# 열 이름 변경
df = df.rename(columns={'OldName': 'NewName'})

# 행 이름 변경
df.index.name = 'NewIndexName'

10. 데이터프레임의 행과 열 추가

데이터프레임의 행과 열을 추가하려면 assign() 메서드를 사용합니다.

# 열 추가
df = df.assign(NewColumn=[1, 2, 3])

# 행 추가
new_row = pd.DataFrame({'ID': [4], 'Name': ['Diana'], 'Age': [40]})
df = pd.concat([df, new_row], ignore_index=True)

결론

파이썬 Pandas는 데이터 분석과 처리에 필수적인 도구입니다. 데이터프레임을 생성하고 조작하는 방법, 특히 필터링과 정렬에 대한 기초를 다루어 보았습니다. 또한 결측치 처리, 필요 없는 변수 제거, 통계 정보 확인, 행과 열 이름 변경, 행과 열 추가와 같은 다양한 기능을 다루어 보았습니다. 이 기초적인 지식은 데이터 분석과 처리를 위한 다양한 작업에 도움이 될 것입니다.

반응형

'[개발] 파이썬' 카테고리의 다른 글

8.1. Flask  (0) 2024.12.30
7.3. Matplotlib  (2) 2024.12.30
7.1. NumPy  (0) 2024.12.30
6.3. 파이썬 메타 프로그래밍  (4) 2024.12.27
6.2. 파이썬 이터레이터와 컨텍스트 매니저  (0) 2024.12.27