데이터 분석 - 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
코드 복사
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"]
📑 여러 개의 컬럼 조회
df[["c0", "c1"]]
📑 행 조회 (인덱스 사용)
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()
df.head()
df.tail()