안녕하세요.
26년차 진로탐색꾼 조녁입니다!
4일차에 배운 내용 중에 두 가지 추가 포스팅 하고 싶어서 4일차 (2)로 포스팅합니다!
4일차 파이썬_Pandas와 Numpy에 대한 첫 포스팅은 아래 주소 확인해주세요~
4일차 지난 포스팅 복습 겸 Pandas 와 Numpy 의 몇 가지 특성만 정리하고 넘어가겠습니다.
-Pandas를 통해 우리는 DataFrame 형태의 데이터를 다룰 것이다. 이 떄 pandas' object == python's string
-코딩을 시작하기 전 필요한 라이브러리를 import하고 시작한다.
-데이터를 불러온 다음, shape 과 dtype을 확인해본다. 또는 info 나 describe를 통해 확인할 수도 있다.
-[]의 개수 만큼이 차원이고, reshape을 통해 차원도 바꿀 수 있다.
4일차 추가 내용
+) csv 다운로드 받고 전처리해보기
+) 데이터 시각화 해보기
Step1. csv 다운로드
우선, csv 데이터를 불러오기 위해 다운로드부터 차근찬근 해보겠습니다.
저는 구글에서 제공하는 Colab을 사용 중이라 제 코드가 일단 쥬피터나 다른 IDE와 다를 수 있습니다.
from google.colab import files
uploaded = files.upload()
review_df = pd.read_csv("review.csv")
print(review_df.shape)
review_df
Step2. 원하는 부분만 꺼내보기
참고] #bool data #참 거짓 여부 나와야함
예시) a = 3 ; a == 2 >>> False : 이때 , T/F 의 data type 이 bool data.
review_df[review_df['사용자'] == '박진형']
=> review_df['사용자]=='박진형' >>> index 1 에 해당되는 값만 True가 나옴
=> 나온 값을 다시 review_df에 넣으면 True에 해당되는 index 1에 해당되는 행만 출력.
user_list =['박진형','최진강']
review_df[review_df['사용자'].isin(user_list)]
review_df[review_df['리뷰'].str.contains("위치|시설")]
review_df[review_df['리뷰'].str.contains(r'(?=.*위치)(?=.*시설)')] #regex == regular expression
Step3. 자료 전처리하기
ㄱ. str -> int로 바꾸기
review_df['평점'] = review_df['평점'].apply(lambda x: #lambda 함수는 1회용 함수
int(x.replace('점',' '))) #apply 가 pandas에서 젤빠름
int('8점'.replace('점','')) : "점" 을 " "로 대체!
>>> 8
review_df['평점'].mean() #str이었던 8점을 Int인 8로 바꿔서 mean값 보기 용이
>>> 8.75
ㄴ. 오타 수정하기
review_df['리뷰'] = review_df['리뷰'].str.replace('채크인','체크인')
ㄷ. str 나누기
review_df['리뷰'].str.split(" ") ------> 어떤 단어가 많이 나왔을 때 평점이 어떠했는 지 확인
review_token = review_df['리뷰'].str.get_dummies(sep=" ")
review_token
review_token['만족한'].sum() # 위와 같이 단어를 나눈 후 합계와 길이를 통해 빈도 확인할 수 있다.
review_df['리뷰'].str.len()
데이터 시각화하기
import numpy as np
import matplotlib.pyplot as plt
array = np.arange(16).reshape((4,4))
%matplotlibinline #시각화된 그래프를 별도창이 아닌 현재창에 띄워달라는 의미
import matplotlib.pyplot as plt
plt.plot(array, 'o')
plt.show()
array = np.random.rand(10000) #랜덤으로 1이하 숫자 10000개로 구성된 array 생성
print(array)
plt.hist(array)
plt.show()
array = np.random.randn(10000)
print(array)
plt.hist(array, bins=100) #bins 는 세밀하게 만들어준다.
plt.show()
이상으로 4일차가 드디어 끝났습니다..
읽어주신 모든 분들께 감사드립니다!!!
'프로그래밍 공부 > 코드프레소 교육' 카테고리의 다른 글
[코드프레소XAI양재허브] 인공지능 실무과정 2일차 (0) | 2020.12.08 |
---|---|
[코드프레소XAI양재허브]AI/ML 기초교육 5일차 (1) (0) | 2020.12.07 |
[코드프레소XAI양재허브]AI/ML 기초교육 4일차 (1) (2) | 2020.12.03 |
[코드프레소XAI양재허브]AI/ML 기초교육 3일차 (2) | 2020.11.26 |
[코드프레소XAI양재허브] AI/ML 기초교육 2일차 (2) | 2020.11.25 |