320x100
728x90
1. 데이터 확인 및 기본 통계
.head() / .tail()
- 데이터의 처음(head()) 또는 마지막(tail()) 몇 개의 행을 확인하는 메소드.
- 예시
df.head(5) # 상위 5개 행 출력df.tail(3) # 하위 3개 행 출력
- 활용
- 데이터의 기본 구조 및 최근 데이터를 빠르게 확인.
.describe()
- 데이터의 기본적인 통계 정보(평균, 표준편차, 최소·최대값 등)를 요약하여 제공.
- 예시
df.describe()
- 활용
- 데이터의 분포를 빠르게 파악하고, 이상치를 탐색.
.value_counts()
- 범주형 데이터의 각 값이 몇 번 등장했는지 계산.
- 예시
df['gender'].value_counts()
- 활용
- 성별, 카테고리 등 그룹별 빈도 분석.
.nunique() / .unique()
- nunique(): 고유값 개수 확인
df['category'].nunique()
- unique(): 고유값 리스트 출력
df['category'].unique()
- 활용
- 데이터가 얼마나 다양한 값을 포함하는지 확인.
2. 결측치 처리
.isna() / .isna().sum()
- 결측치(NaN) 여부 확인 및 개수 세기.
- 예시
df.isna().sum()
- 활용
- 어떤 열에 결측치가 많은지 확인 후 처리 방법 결정.
.dropna()
- 결측치가 포함된 행 제거
- 예시
df_clean = df.dropna()
- 활용
- 결측치가 많은 행을 제거하여 데이터 품질 개선.
.fillna()
- 결측치를 특정 값으로 대체
- 예시
df.fillna(0) # NaN을 0으로 채우기df['age'].fillna(df['age'].median()) # 중위수로 채우기
- 활용
- 결측값을 평균, 중위수, 특정 값 등으로 채워 분석 가능하도록 만듦.
3. 데이터 변환 및 조작
.astype()
- 데이터 타입 변환 (int, float, str 등)
- 예시
df['age'] = df['age'].astype(int)
- 활용
- 숫자로 저장된 문자열을 실제 숫자로 변환하여 연산 가능하도록 만듦.
.replace()
- 특정 값을 다른 값으로 변경.
- 예시
df['gender'].replace({'M': 'Male', 'F': 'Female'}, inplace=True)
- 활용
- 카테고리 값의 이름을 보다 직관적으로 변경.
.map()
- 특정 컬럼의 값을 매핑하여 변환.
- 예시
df['category'] = df['category'].map({'A': 1, 'B': 2, 'C': 3})
- 활용
- 범주형 데이터를 숫자로 변환하여 분석 가능하도록 만듦.
.apply()
- 사용자 정의 함수를 각 행/열에 적용
- 예시
df['age_group'] = df['age'].apply(lambda x: 'adult' if x >= 18 else 'child')
- 활용
- 조건에 따라 데이터를 가공하거나 새로운 컬럼 생성.
.str.split(expand=True)
- 문자열을 특정 기준으로 분리하여 여러 개의 컬럼으로 변환.
- 예시
df[['first_name', 'last_name']] = df['full_name'].str.split(" ", expand=True)
- 활용
- 이름, 주소 등의 데이터를 여러 개의 컬럼으로 나누어 분석 가능하게 함.
4. 데이터 정렬 및 중복 제거
.sort_values()
- 특정 열을 기준으로 정렬.
- 예시
df.sort_values(by='score', ascending=False) # 점수 기준 내림차순 정렬
- 활용
- 가장 높은 점수/낮은 점수를 찾거나, 순위를 정할 때 사용.
.duplicated() / .drop_duplicates()
- 중복된 행 찾기 및 제거
- 예시
df.duplicated().sum() # 중복된 행 개수 확인df.drop_duplicates(inplace=True) # 중복 제거
- 활용
- 중복 데이터로 인해 발생하는 오류를 방지.
5. 데이터 합치기
.concat()
- 여러 개의 DataFrame을 위/아래 또는 좌/우로 결합
- 예시
df_combined = pd.concat([df1, df2], axis=0) # 세로로 결합df_combined = pd.concat([df1, df2], axis=1) # 가로로 결합
- 활용
- 여러 개의 데이터를 하나로 합쳐 분석 가능하도록 만듦.
.merge()
- 두 개의 DataFrame을 특정 공통 열을 기준으로 병합
- 예시
df_merged = df1.merge(df2, on='customer_id', how='inner') # 고객 ID 기준으로 병합
- 활용
- 다른 데이터셋을 조인하여 필요한 정보를 통합.
6. 그룹화 및 통계 분석
.groupby().agg()
- 특정 기준으로 데이터를 그룹화하여 집계.
- 예시
df.groupby('gender')['salary'].mean() # 성별별 평균 급여 계산df.groupby('category').agg({'sales': 'sum', 'profit': 'mean'}) # 그룹별 매출 합계 및 평균 수익 계산
- 활용
- 특정 기준(예: 성별, 직업, 지역 등)으로 데이터를 요약 분석.
.corr()
- 변수 간 상관관계 계산
- 예시
df.corr()
- 활용
- 데이터 간 관계를 분석하여 예측 모델 개선.
'데이터 분석가:Applied Data Analytics > 판다스 데이터분석' 카테고리의 다른 글
geopy 설치 (0) | 2025.02.19 |
---|---|
신용거래 이상탐지 데이터 다루기 (0) | 2025.02.19 |
5. Feature Engineering - 스피드 데이팅 데이터 다루기 (0) | 2025.02.18 |
Feature Engineering (1) | 2025.02.18 |
데이터분석머신러닝-실습(k-Means, DBSCAN) (0) | 2025.02.17 |