본문 바로가기
파이썬(Python)

파이썬(Python) Pandas 기초 데이타프레임(dataframe)

by 정보오리 2025. 3. 18.

Pandas는 파이썬에서 데이터 분석과 조작을 위한 강력한 라이브러리이다.

빠르고 유연하며 표현력이 뛰어난 데이터 구조를 제공하여 다양한 형태의 데이터를 효율적으로 처리할 수 있다.


Pandas의 기본 구조

 

Pandas의 주요 데이터 구조는 두 가지이다.

  1. Series: 1차원 배열 구조로, 인덱스가 있는 데이터의 1차원 시퀀스이다.
  2. DataFrame: 2차원 표 구조로, 행과 열로 구성된 데이터 구조이다.

 

Pandas 설치 유무는 프롬프트에서 아래와 같은 명령어로 확인할 수 있다.

> pip list | grep pandas

 

설치되어 있지 않다면

pip install pandas 명령어로 설치할 수 있다.

 

 

DataFrame 생성

파이썬 자료구조인 딕셔너리(Dictionary)로 부터 데이타프레임으로 변환시켜준다.

 

출력 결과는 다음과 같다.

4개의 행을 가진 형태의 데이타프레임이 출력되는 것을 확인할 수 있다.

 

 

 

위와같이 딕셔너리로 데이타프레임을 생성할 수 있지만

일반적으로 대량의 데이타가 필요하므로 파일형태(csv, excel, json)의 파일로 부터 생성하는게 보통이다.

 

 

DataFrame 기본정보 확인

 

# 처음 5행 보기
print(df.head())


# 기본 통계 정보
print(df.describe())


# 컬럼 정보
print(df.columns)

# 데이터 크기
print(df.shape)

# 데이터 타입
print(df.dtypes)

 

 

데이터 선택 및 필터링

# 열 선택
print(df['이름'])
print(df[['이름', '나이']])

# 행 선택 (위치 기반)
print(df.iloc[0])  # 첫 번째 행
print(df.iloc[0:2])  # 첫 번째와 두 번째 행

# 행 선택 (라벨 기반)
print(df.loc[0])  # 인덱스가 0인 행
print(df.loc[0:2])  # 인덱스가 0~2인 행

# 조건 기반 필터링
print(df[df['나이'] > 25])
print(df[(df['나이'] > 25) & (df['성별'] == '여')])

 

 

데이타조작

# 새로운 컬럼 추가

df['NEW_컬럼'] = df['점수'] > 80

 

# 나이 기준 오름차순 정렬
print(df.sort_values('나이'))

# 점수 기준 내림차순 정렬
print(df.sort_values('점수', ascending=False))

# 여러 열 기준 정렬
print(df.sort_values(['성별', '나이']))

 

# 성별 기준 그룹화 후 평균 계산
print(df.groupby('성별').mean())

# 성별 기준 그룹화 후 여러 집계 함수 적용
print(df.groupby('성별').agg({
    '나이': 'mean',
    '점수': ['min', 'max', 'mean']
}))

 

# 결측치 확인
print(df.isnull().sum())

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

# 결측치 채우기
df_filled = df.fillna({
    '나이': df['나이'].mean(),
    '점수': 0
})

 

 


결론

Pandas는 데이터 분석과 조작을 위한 강력한 파이썬 라이브러리로, 데이터 과학과 관련된 다양한 작업을 효율적으로 수행할 수 있게 해준다. 더 발전된 Pandas 사용법을 익히고 싶다면 공식 문서와 다양한 튜토리얼을 참고하는 것이다.

실제 데이터를 가지고 직접 실습해보는 것이 가장 효과적인 학습 방법이다.

 

Pandas를 더 깊이 학습하고 싶다면 다음 자료을 참고