Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- R
- 파이썬
- 내일배움카드
- 스파르타코딩
- 중회귀모형
- 어쩌다 마케팅
- harkerrank
- 내일배움캠프
- 내일배움
- 스파르타 코딩
- 프로그래머스
- MySQL
- wil
- 미세먼지
- 파이썬 머신러닝 완벽가이드
- 스파르타
- 실전 데이터 분석 프로젝트
- 티스토리챌린지
- Cluster
- 파이썬 철저입문
- 회귀분석
- 웹 스크랩핑
- 텍스트 분석
- SQL
- 프로젝트
- TiL
- 파이썬 머신러닝 완벽 가이드
- hackerrank
- 파이썬 철저 입문
- 오블완
Archives
- Today
- Total
OkBublewrap
실전 데이터 분석 프로젝트(2) 본문
import pandas as pd
data_file = "C:/myPyCode/data/total_sales_data.csv"
df_sales = pd.read_csv(data_file)
df_sales
df_sales.info()
매장명 9 non-null object
제품종류 non-null object
모델명 non-null object
판매 non-null int64
재고 non-null int64
df_sales['매장명'].value_counts()
# C 3
# B 3
# A 3
df_sales['제품종류'].value_counts()
# 스마트폰 5
# TV 4
Pivot Table
# 매장별 제품종류별 모델명별 재공량합계, 판매합계
df_sales.pivot_table(index=["매장명", "제품종류", "모델명"],
values =["판매","재고"], aggfunc='sum')
# 매장별 제품종류 별 판매수, 재고수 집계
df_sales.pivot_table(index=["매장명"], columns = ["제품종류"],
values =["판매","재고"], aggfunc='count')
Word Cloud
from wordcloud import WordCloud
import matplotlib.pyplot as plt
file_name = 'C:/myPyCode/data/littleprince_djvu.txt'
with open(file_name) as f: # 파일을 읽기 모드로 열기
text = f.read() # 파일의 내용 읽어오기
# 워드 클라우드의 이미지를 생성합니다.
wordcloud_image = WordCloud().generate(text)
# 생성한 워드 클라우드 이미지를 화면에 표시합니다.
plt.imshow(wordcloud_image, interpolation='bilinear')
plt.axis("off")
plt.show()
wordcloud_image = WordCloud(background_color='white', max_font_size=300, width=800, height=400).generate(text)
plt.imshow(wordcloud_image, interpolation="bilinear")
plt.axis("off")
plt.show()
워드클라우드는 전체적으로 무슨 단어가 많이 나온지 보기가 편하다. 위의 텍스트 경우 said, little, prince가 많이 나온 것을 알 수 있다. 어린왕자 동화에서 기억남은 문장이 어린왕자가 말했다. 장미꽃이 말했다. 이런 식의 문장이 많이 나와서 said가 많이 나온 것 같다.
# 나온 워드클라우드를 컴퓨터에 저장
image_file_name = 'C:/myPyCode/figures/little_prince.png'
wordcloud_image.to_file(image_file_name)
plt.show()
그림에 워드클라우드 입히기
좀 찾아보니 그림에 워드클라우드를 입히는 것이 재밌어 보여서 진행을 했다.
어린왕자 그림으로 어린왕자 워드클라우드를 입힐 것이다.
from wordcloud import ImageColorGenerator
from PIL import Image
img = Image.open('C:/myPyCode/download/prince.png')
# png 파일 numpy로 변환
import numpy as np
msk_img = np.array(img)
# wordcloud 시각화
word_cloud = WordCloud(width = 2000, height = 1000,
mask = msk_img,
background_color = 'white')
wordcloud = word_cloud.generate_from_text(text)
plt.figure(figsize = (15, 15))
plt.imshow(wordcloud, interpolation = 'bilinear')
plt.axis('off')
plt.tight_layout(pad= 0)
plt.show()
단어 빈도수
import pandas as pd
word_count_file = "C:/myPyCode/data/word_count.csv"
word_count = pd.read_csv(word_count_file, index_col = '단어')
word_count.head(5)
from wordcloud import WordCloud
import matplotlib.pyplot as plt
korean_font_path = 'C:/Windows/Fonts/malgun.ttf' # 한글 폰트(맑은 고딕) 파일명
# 워드 클라우드 이미지 생성
wc = WordCloud(font_path=korean_font_path, background_color='white')
frequencies = word_count['빈도'] # pandas의 Series 형식이 됨
wordcloud_image = wc.generate_from_frequencies(frequencies)
# 생성한 워드 클라우드 이미지를 화면에 표시
plt.imshow(wordcloud_image, interpolation="bilinear")
plt.axis("off")
plt.show()
'Python > 프로젝트' 카테고리의 다른 글
실전 데이터 분석 프로젝트(4) (1) | 2023.03.24 |
---|---|
실전 데이터 분석 프로젝트(3) (0) | 2023.03.24 |
실전 데이터 분석 프로젝트(1) (0) | 2023.03.21 |
wine_modeling(1) (0) | 2023.03.05 |
Wine_EDA (0) | 2023.02.22 |