# pandas 활용
df[컬럼명].quantile(.범위)
# numpy 활용
np.percentile(df[컬럼명], 범위)
IQR = Q3 - Q1
import numpy as np
# 올림: np.ceil()
# 내림: np.floor()
# 버림: np.trunc()
cf) 내림과 버림의 차이는?
- 양수에서는 같지만 음수 -5.5에서 내림을 하면 -6, 버림을 하면 -5가 된다.
# city별 중앙값으로 대체에서는 map함수 활용
# 결측값 확인: df.isnull().sum()
# 컬럼 삭제: df.drop(컬럼명1, 컬럼명2, axis=1)
df.drop(columns=컬럼명1, 컬럼명2)
# 컬럼 확인: df[컬럼명].unique()
# 결측치 채우기: fillna()
# 그룹별: df.groupby()
# 데이터 타입 확인: df.shape
# 왜도 -> df.skew()
오른쪽 꼬리 -> 왜도>0, 최빈값<중앙값<평균
왼쪽 꼬리 -> 왜도<0, 평균<중앙값<최빈값
# 첨도 -> df.kurt()
3보다 작을 경우 꼬리가 얇고
3보다 클 경우 꼬리가 두꺼움
# loc로 특정 행 선택 이후 평균 구하기
m2001 = df.loc[2001].mean()
# 평균 값 보다 큰 값 구하기 > cond1으로 조건
cond1 = df.loc[2001] > m2001
# cond1 조건에 Frue 개수 구하기
r1 = sum(cond1)
* loc -> 인덱스 명을 찾아서 행의 값 추출
* iloc(integer location) -> n번재 행에 있는 값 추출
# 특정 컬럼 컬측치 채우기
앞 방향 - fillna(method='ffill' or 'pad')
뒷 방향 - fillna(method='bfill' or 'backfill')
# 그룹별 합산 값 구하기, 인덱스 재설정
df = df.groupby(['city','f2']).sum().reset_index()
# 특정 컬럼 값들 내림차순, 오름차순
오름차순(기본): df = df.sort_values(['views'], ascending=True)
내림차순: df = df.sort_values(['views'], ascending=False)
# 차순 멀티 지정 (내림차순, 오름차순)
df.sort_values([컬럼명1, 컬럼명2], ascending=[True, False])
# 특정 컬럼 datetime으로 변환
pd.to_datetime()
# datetime의 해당 년/월/일/요일 분리하기 * 조심! df아니고 dt , ()없음
df[subscribed'].dt.year
df[subscribed'].dt.month
df[subscribed'].dt.day
df[].dt.dayofweek * 0~6(월~일)
# 월별 데이터 개수 구하기
df = df.groupby('month').count()
# 오름차순(기본)이후 가장 적은 데이터가 개수가 있는 행
df.sort_values('month').index[0] << 함수 안에 컬럼 명만!
오답노트
# 결측값 들어있는 모든 행 제거
df = df.dropna(axis=0)
# 결측값 들어있는 모든 열 제거
df = df.dropna(axis=1)
# 특정 컬럼 결측치 행 제거
방법1: df = df.dropna(subset=['컬럼명'])
방법2: df[~df['f1'].isnull()]
# loc 멀티 인덱싱 *조심 - 멀티 인덱싱은 ()중괄호
df.loc[(행1, 행2), 열]
# 특정 컬럼 데이터 대체
data = data.repalce(기존값, 대체값)
# 특정 컬럼 누적합계산
df[].cumsum()
# 중앙값 계산
df[].median()
# 수치형 변수 표준화 (기본)
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
df[] = scaler.fit_transform(df[[]]) * 중요: fit_transform 할 때 df[[]] 대괄호 두번!!
# MinMaxScaler
StandardScaler 와 동일!
# 시리즈(배열) 조건문 사용
np.where(condition, x, y)
condition = 조건
x = Ture인 경우 사용될 값, 배열
y = False인 경우 사용될 값, 배열
# 테이블 병합
pd.merge(left, right, on='기준 컬럼')
# dt 시간/분/초
초로 변환: dt.total_seconds()
분으로 변환: dt.total_seconds() / 60
시간으로 변환: dt.total_seconds() / 60 / 60
일로 변환: dt.total_seconds() / 60 / 60 / 24
'[Python]' 카테고리의 다른 글
[Python] 빅데이터분석기사 기초 통계 (1) | 2023.10.26 |
---|---|
[Python] 빅데이터분석기사 실기 연습(작업형2) (0) | 2023.10.18 |
[Python] 통계 기본 정리 (0) | 2023.04.03 |
[Python] pandas 기본 (0) | 2023.03.09 |
[Python] Numpy 기본 (0) | 2023.03.06 |