[python] 데이터 분석 - Pandas

혜진·2024년 8월 12일

Python

목록 보기
11/16
post-thumbnail

데이터 분석 - Pandas 활용법

Pandas 주요 개념

  • Series: 1차원 데이터 구조로, DataFrame의 한 열을 구성
  • DataFrame: 2차원 표 형식의 데이터 구조로, 여러 개의 Series를 모아 구성
  • 기술 통계 함수: 데이터 분석에 유용한 다양한 통계 함수 제공 (sum, mean, median, max, min, std, var, describe 등)

데이터 구조 생성 및 조회

📑 Series 생성

import pandas as pd
dict_data = {'a': 1, 'b': 2, 'c': 3}
sr = pd.Series(dict_data)
print(sr)
python
코드 복사
# 리스트, 튜플을 Series로 변환 가능
tuple_data = ("홍길동", '1991-01-25', '남', True)
sr = pd.Series(tuple_data, index=["이름", "생년월일", "성별", "학생여부"])

📑 DataFrame 생성

dict_data = {'c0': [1, 2, 3], 'c1': [4, 5, 6], 'c2': [7, 8, 9]}
df = pd.DataFrame(dict_data)
print(df)

데이터 조회 및 조작

📑 한 개의 컬럼 조회

df["c0"]  # Series 객체

📑 여러 개의 컬럼 조회

df[["c0", "c1"]]  # DataFrame 객체

📑 행 조회 (인덱스 사용)

df.loc["홍길동"]  # 인덱스 이름으로 조회
df.iloc[0]  # 순서로 조회

📑 컬럼 및 인덱스 이름 변경

df.rename(columns={"age": "나이"}, inplace=True)
df.rename(index={"학생1": "홍길동"}, inplace=True)

데이터 분석

📑 기술 통계 함수 사용

print(df.mean())  # 평균
print(df.sum())   # 합계
print(df.max())   # 최대값
print(df.min())   # 최소값
print(df.std())   # 표준편차
print(df.var())   # 분산
print(df.describe())  # 요약 통계량

📑 특정 행의 통계 정보

df.loc["김삿갓"].sum()  # 총점
df.loc["김삿갓"].mean()  # 평균
df.loc["김삿갓"].std()  # 표준편차

데이터 조작

복사

  • 얕은 복사: df2 = df
  • 깊은 복사: df3 = df.copy()

📑 행/열 제거

df.drop(["홍길동"], axis=0, inplace=True)  # 행 제거
df.drop(["음악"], axis=1, inplace=True)  # 열 제거

DataFrame 활용 팁

📑 인덱스와 컬럼의 순서를 활용한 데이터 조회

df.loc["이몽룡":"김삿갓"]  # 범위로 조회
df.iloc[::-1]  # 역순으로 조회

📑 데이터 정보 확인

df.info()  # DataFrame 전체 정보
df.head()  # 처음 5개의 데이터 조회
df.tail()  # 마지막 5개의 데이터 조회

0개의 댓글