본문 바로가기

카테고리 없음

Python : Pandas 기본 - DataFrame #2

이 블로그에서는 DataFrame의 기본적인 사용법에 대하여 설명합니다. 

 

데이터 선택

DataFrame 의 데이터는 테이블처럼 열과 행으로 구성되어 있습니다. 그래서 아래와 같은 방법으로 각 데이터에 접근합니다.

  • 열 선택: df['column_name'] 또는 df.column_name.
  • 여러 열 선택: df[['col1', 'col2']].
  • 행 선택: df.iloc[index] (정수 인덱스 사용), df.loc[label] (레이블 사용)
import pandas as pd

# 예제 DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'San Francisco', 'Los Angeles']
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])
print(df)
#출력
    Name  Age           City
a  Alice   25      New York
b    Bob   30  San Francisco
c Charlie   35   Los Angeles

print(df)
# 특정 열 선택
print(df['Name'])

# 특정 행 선택
print(df.iloc[0])
print(df.loc['a'])

 

데이터 필터링

특정 조건을 만족하는 데이터는 아래와 같이 조건식을 사용해 원하는 행이나 열을 추출할  수 있습니다.

# 조건을 만족하는 행 필터링
filtered_df = df[df['Age'] > 30]
print(filtered_df)

 

데이터 변형

  • df.sort_values(by='column', ascending=True): 특정 열 기준으로 정렬.
  • df.apply(func): 함수 적용.
  • df.rename(columns={'old_name': 'new_name'}): 열 이름 변경.
df['Age'] = df['Age'] + 1  # 나이에 1씩 더하기
df = df.rename(columns={'Name': 'Full Name'})

 

데이터 그룹화

  • df.groupby('column'): 특정 열 기준으로 그룹화.
  • df.groupby('column').agg(func): 그룹별 집계 수행.
grouped = df.groupby('City')['Age'].mean()
print(grouped)

 

결측값 (Missing Value) 처리

  • df.isnull(): 결측값 여부 확인.
  • df.dropna(): 결측값이 있는 행 제거.
  • df.fillna(value): 결측값을 특정 값으로 대체.
df['Age'].fillna(df['Age'].mean(), inplace=True) #inplace=True 는 출력데이터 뿐아니라 원본 데이터를 변경합니다.

 

pandasDataFrame은 데이터 조작과 분석을 강력하고 효율적으로 수행할 수 있는 도구입니다. 다양한 정의 방법과 메서드를 통해 복잡한 데이터 처리도 간단히 수행할 수 있습니다. pandas를 잘 활용하면 데이터 기반 의사결정을 훨씬 쉽게 내릴 수 있습니다.