'''
2022-12-08 복습
데이터 전처리 : 원본데이터를 원하는 형태로 변경 과정.
1. 결측값 처리 : 값이 없는 경우.
- isnull() : 결측값인 경우 True, 일반값인 경우 False
- notnull() : 결측값인 경우 False, 일반값인 경우 True
- dropna() : 결측값 제거 함수
dropna(axis=1,thresh=500) : 결측값이 500개 이상인 컬럼 제거
dropna(subser=[컬럼명],how=any/all, axis=0) :결측값을 가지고 있는 행 제거
- fillna :결측값 치환
fillna(치환값,inplace=True)
fillna(방법,inplace=True) : method="ffill"/"bfill"
2. 중복데이터 처리
- duplicated() : 중복데이터 찾기. 첫번째 데이터는 False, 같은 데이터인 경우 두번째 True
- drop_duplicates() : 중복데이터를 제거. 중복된 데이터 중 한개는 남김.
3. 새로운 컬럼 생성
- df[컬럼명] : 컬럼명이 없는 경우 생성, 있으면 수정.
- round(자리수) : 반올림.
4. 오류데이터 존재.
- 결측값 치환 : 결측값(np.nan)
replace(오류문자열, np.nan, inplace=True)
'''
📌
### 범주형 데이터 :
# origin 컬럼 : 1:USA, 2:EU, 3:JAPAN
df["origin"].unique()
df["origin"].describe()
# 정수형 컬럼을 문자열 범주형 데이터로 변환
# 범주형 : category형
#1. 정수형 데이터를 문자열형으로 변환
df["origin"].replace({1:"USA",2:"EU",3:"JAPEN"},inplace=True)
df["origin"].unique()
df.info()
#2. 문자열형을 범주형으로 변환
df["origin"] = df["origin"].astype("category")
df.info()
# 3. 범주형을 문자열형으로 변환
df["origin"] = df["origin"].astype("str")
df.info()
📌
# 범주형 : 값의 범위 가지고 있는 자료형.
# 값의 크기와 상관없이 단순한 범위를 의미. 통계데이터가 필요없다.
import pandas as pd
age = pd.Series([26,42,27,25,20,20,21,22,23,25])
stu_class = pd.Categorical([1,1,2,2,2,3,3,4,4,4])
gender = pd.Categorical(['F','M','M','M','M','F','F','F','M','M'])
c_df = pd.DataFrame({'age':age,'class':stu_class,'gender':gender})
c_df.info()
c_df.describe()
# class 컬럼을 범주형 => 정수형
c_df["class"] = c_df["class"].astype("int")
c_df.info()
c_df.describe()
#날짜 데이터
#20220101부터 이후 6까지의 날짜를 데이터
#date_range : 날짜의 범위를 지정
# 단위 설정
# freq="D" : 일자기준. 기본값
# freq="M" : 월의 종료일 기준
# freq="MS" : 월의 시작일 기준
# freq="3M" : 3개월의 종료일 기준
# freq="6M" : 6개월의 종료일 기준
dates = pd.date_range('20220101',periods=6,freq="D") # 일
dates
dates = pd.date_range('20220101',periods=6,freq="M") # 말일
dates
dates = pd.date_range('20220101',periods=6,freq="MS") # 매월 1일
dates
dates = pd.date_range('20220101',periods=6,freq="3M") # 3개월 단위의 말일
dates
dates = pd.date_range('20220101',periods=6,freq="6M") # 6개월 단위의 말일
dates
'수업(국비지원) > Python' 카테고리의 다른 글
[Python] groupby : 컬럼으로 데이터 분리 (0) | 2023.04.25 |
---|---|
[Python] 범주형 데이터2 - 주식데이터 읽기 (0) | 2023.04.25 |
[Python] 중복된 데이터 처리 (0) | 2023.04.25 |
[Python] 데이터 전처리 (0) | 2023.04.25 |
[Python] 빅데이터 분석 예제 (0) | 2023.04.25 |