Silver bullet
정형 데이터 분석 & 데이터 시각화 본문
1. Various data type
- Structured Data (정형 데이터) → ML
- Relational DB
- Spread sheets
- Semi-structured data (반정형 데이터)
- System logs
- Sensor data
- HTML
- Unstructured data (비정형 데이터) → DL
- Image / Video
- Sound
- Document
*음성데이터 → 푸리에 변환
2. 기초 pandas
# 엑셀 파일 읽기
df = pd.read_excel('엑셀.xlsx')
# with open('엑셀.xlsx', mode="r", encoding="utf-8") as file:
# df = pd.read_excel(file)
pd.DataFrame의 하나의 열, 하나의 행은 pd.Series
# 인덱스 열 설정 가능
df.set_index('milk')
# (요약된 정보) Descriptive Statistics 기술통계량
df.describe() # 묘사
# 평균(mean) / 중윗값(median) / 최빈값(mode)
# Standard Deviation 표준편차 / Variance 분산
- 결측치(missing data)를 다루는 방법
(ex. 보험 가입 고객들에 대한 데이터 中 나이(age)열에 일부 데이터가 빠져있을 때)
- 랜덤하게 채워넣기
- 주변 (행의) 값들로 채워넣기
- 열의 대표값을 계산해서 채워넣기 (mean, median중위값)
- 전체 행들을 그룹으로 묶어낸 후 그룹 내 해당 열의 대푯값으로 채워넣기 -> 두번째로 좋은 방법
- 나머지 열들로 머신러닝 예측모델을 만든 후 해당 열의 값을 예측해 채워넣기 -> 가장 좋은 방법
- 특정 기준 비율 이상으로 빠져있을 시 해당 열 삭제
df.loc[[3, 6, 8]]# 여러 개의 행을 꺼내기
# Series가 아닌 DataFrame으로 꺼내기
df.iloc[3:6, 0:3] # (권장o)열을 name이 아니라 번호로 지정
df['name'].head() # 하나의 열 출력하기 Seried
#특정 컬럼에서 0번재 값 가져오기
df['컬럼명'][0]
df[['name', 'hair', 'feathers']].head() # 여러개의 열 출력하기 DataFrame
df["name"].str.contains("ar")
dir(df['name'].str) # 사용가능한 함수 확인
int64
float64 <- 64bit
64 -> 32 -> 8
Model Quantization (양자화)
df_new['new_hair'] = df_new['hair'].apply(lambda x : x+1)
# Type 을 index 로 하는 새로운 df 만들기 (엑셀의 pivot table 과 유사)
pivot_df = pd.pivot_table(df_new, index='type', aggfunc=np.sum) # Shift+Tab!
# 열 삭제하기
del pivot_df['new_hair']
# 행 삭제하기
pivot_df = pivot_df.drop([3, 6, 7])
# 열 삭제하기
pivot_df = pivot_df.drop(['name'], axis=1)
# 열 이름 바꾸기
pivot_df.rename(columns = {'eggs':'산란', 'feathers':'깃털'}, inplace=True)
# 산란 수 기준으로 정렬하기
pivot_df.sort_values(by='산란', inplace=True)
# 산란 수 기준으로 내림차순 정렬하기
pivot_df.sort_values(by='산란', ascending=False, inplace=True)
# 얕은 복사와 깊은 복사
pivot_df_2 = pivot_df # shallow copy 원본과 연결됨
pivot_df_3 = pivot_df.copy() # deep=True, deep copy 원본과 분리됨'AI > AI' 카테고리의 다른 글
| 한글 텍스트 데이터 전처리 (0) | 2024.07.02 |
|---|---|
| TF-IDF & Cosine similarity 이론 (0) | 2024.07.02 |
| 품사별 토큰 추출 & 등장횟수 시각화, 정규 표현식 (0) | 2024.07.01 |
| Tokenizing, POS tagging, Stopwords, Lemmatization (0) | 2024.07.01 |
| 정형 데이터 전처리 & 시각화 (0) | 2024.07.01 |