일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- keras
- 다나와
- AWS
- webcrawling
- tensorflow
- opencv
- algorithm
- pandas
- TypeScript
- instance
- data
- 자바스크립트
- visualizing
- Method
- python
- 애자일
- angular
- Agile
- Project
- ECS
- matplotlib
- analyzing
- Crawling
- javascript
- 크롤링
- adaptive life cycle
- DANAWA
- 프로젝트
- Scrum
- data analyze
Archives
- Today
- Total
LiJell's 성장기
__16.data.analyzing_Danawa_Visualizing (다나와 3편) 본문
Bigdata/Web Crawling
__16.data.analyzing_Danawa_Visualizing (다나와 3편)
All_is_LiJell 2022. 1. 21. 18:40반응형
- 다나와 1편 크롤링: https://lime-jelly.tistory.com/54
- 다나와 2편 전처리: https://lime-jelly.tistory.com/55
- 다나와 4편 연습: https://lime-jelly.tistory.com/entry/17dataanalyzingDanawaFindMonitor-%EB%8B%A4%EB%82%98%EC%99%80-4%ED%8E%B8
16. 다나와 데이터 시각화
16.1. 데이터 불러오기
danawa_data = pd.read_excel('./files/2_danawa_data_final_class.xlsx')
danawa_data.head()
'''
카테고리 회사명 제품 가격 사용시간 흡입력
0 핸디/스틱청소기 LG전자 오브제컬렉션 코드제로 ThinQ A9S AO9571 1055260 60 210
1 핸디/스틱청소기 삼성전자 비스포크 제트 VS20A956A3 564850 60 210
2 핸디/스틱청소기 LG전자 코드제로 ThinQ A9S AS9370IKT 784550 60 210
3 핸디/스틱청소기 삼성전자 비스포크 제트 VS20A957E3 804800 60 210
4 핸디/스틱청소기 샤오미 드리미 V10 49880 60 220
'''
16.2. 필요한 데로 정렬 후 살펴보기
top_list = danawa_data.sort_values(['흡입력'], ascending=False)
top_list.head()
'''
카테고리 회사명 제품 가격 사용시간 흡입력
139 핸디/스틱청소기 리하스 LH20 118710 120 330
201 핸디/스틱청소기 비브르 스톰파워 VE35 128000 50 310
126 핸디/스틱청소기 아이닉 NEW i20 340000 50 300
220 핸디/스틱청소기 블랙앤데커 PV1020 58110 11 290
219 핸디/스틱청소기 캐치웰 NEW F8 455380 25 290
'''
top_list = danawa_data.sort_values(["사용시간"], ascending = False)
top_list.head()
'''
카테고리 회사명 제품 가격 사용시간 흡입력
139 핸디/스틱청소기 리하스 LH20 118710 120 330
19 핸디/스틱청소기 샤오미 드리미 V11 50620 90 250
18 핸디/스틱청소기 샤오미 드리미 V12 67430 90 270
68 핸디/스틱청소기 샤오미 드리미 T30 27000 90 270
253 핸디/스틱청소기 샤오미 드리미 V12 프로 109000 85 270
'''
top_list = danawa_data.sort_values(["사용시간","흡입력"], ascending = False)
top_list.head()
'''
카테고리 회사명 제품 가격 사용시간 흡입력
139 핸디/스틱청소기 리하스 LH20 118710 120 330
18 핸디/스틱청소기 샤오미 드리미 V12 67430 90 270
68 핸디/스틱청소기 샤오미 드리미 T30 27000 90 270
19 핸디/스틱청소기 샤오미 드리미 V11 50620 90 250
253 핸디/스틱청소기 샤오미 드리미 V12 프로 109000 85 270
'''
16.3. 평균값 구하기
price_mean_value = danawa_data['가격'].mean()
suction_mean_value = danawa_data['흡입력'].mean()
use_time_mean_value = danawa_data['사용시간'].mean()
print("가격 평균값", price_mean_value)
print("흡입력 평균값", suction_mean_value)
print("사용시간 평균값", use_time_mean_value)
'''
가격 평균값 301072.23846153845
흡입력 평균값 168.68846153846152
사용시간 평균값 43.31923076923077
'''
16.4. 평균값을 이용한 가성비 찾기
condition_data = danawa_data [
(danawa_data['가격'] <= price_mean_value) &
(danawa_data['흡입력'] >= suction_mean_value) &
(danawa_data['사용시간'] >= use_time_mean_value)]
condition_data
'''
카테고리 회사명 제품 가격 사용시간 흡입력
4 핸디/스틱청소기 샤오미 드리미 V10 49880 60 220
5 핸디/스틱청소기 삼성전자 비스포크 제트 VS20A957D2 155700 60 210
7 핸디/스틱청소기 LG전자 코드제로 ThinQ A9S A9370 125870 60 210
11 핸디/스틱청소기 삼성전자 제트 VS20T9210BF 40660 60 200
13 핸디/스틱청소기 다이슨 V15 디텍트 앱솔루트 엑스트라 38900 60 240
... ... ... ... ... ... ...
243 핸디/스틱청소기 원더스리빙 원더스 다이나킹 Z9 48420 65 220
246 핸디/스틱청소기 삼성전자 비스포크 제트 VS20A957G2P 129000 60 210
248 핸디/스틱청소기 DIBEA X30 57950 50 250
253 핸디/스틱청소기 샤오미 드리미 V12 프로 109000 85 270
254 핸디/스틱청소기 삼성전자 제트 VS20T9278S7CC 160650 60 200
68 rows × 6 columns
'''
16.5. 시각화
from matplotlib import font_manager, rc
import matplotlib.pyplot as plt
import seaborn as sns
# import platform
rc('font', family = 'Malgun Gothic')
plt.figure(figsize = (20, 10))
sns.scatterplot(x = '흡입력', y = '사용시간',
size = '가격', hue = danawa_data['회사명'],
data = danawa_data, legend = False,
sizes = (10, 1000))
plt.hlines(use_time_mean_value, 0, 400, color='red',
linestyle='dashed', linewidth=1)
plt.vlines(suction_mean_value, 0, 120, color='red',
linestyle='dashed', linewidth=1)
plt.show()
condition_data.columns
'''
Index(['카테고리', '회사명', '제품', '가격', '사용시간', '흡입력'], dtype='object')
'''
chart_data_selected = top_list[:20]
chart_data_selected
# suction_max_value = chart_data_selected['흡입력'].max()
suction_mean_value = chart_data_selected['흡입력'].mean()
# use_time_max_value = chart_data_selected['사용시간'].max()
use_time_mean_value = chart_data_selected['사용시간'].mean()
plt.figure(figsize = (20, 10))
sns.scatterplot(x = '흡입력', y = '사용시간',
size = '가격', hue = chart_data_selected['회사명'],
data = chart_data_selected, legend = False,
sizes = (100, 2000))
plt.hlines(use_time_mean_value, 150, 350, color='red',
linestyle='dashed', linewidth=1)
plt.vlines(suction_mean_value, 40, 120, color='red',
linestyle='dashed', linewidth=1)
for index, row in chart_data_selected.iterrows():
x = row['흡입력']
y = row['사용시간']
s = row['제품'].split(' ')[0]
plt.text(x, y, s, size=20)
plt.show()
반응형
'Bigdata > Web Crawling' 카테고리의 다른 글
__17.data.analyzing_Danawa_Find_Monitor (다나와 4편) (0) | 2022.01.23 |
---|---|
__15.data.analyzing_Danawa_preprocessing(다나와 2편) (0) | 2022.01.21 |
__14.data.analyzing_Danawa_Crawling (다나와 1편) (0) | 2022.01.21 |
__13.data.analyzing_Starbucks_data_visualizing (스타벅스 3편) (0) | 2022.01.20 |
__12.data.analyzing_Starbucks_data_preprocessing (스타벅스 2편) (0) | 2022.01.20 |
Comments