1. 강서구 구민제안 데이터 시각화
강서구청 구민제안 게시판의 올라온 제안제목 데이터를
워드클라우드로 시각화해서 구민들에게 중요한 이슈가
무엇인지 분석해보았습니다. (이전 포스팅 CSV 파일 필요)
2. 워드클라우드 코드
import pandas as pd
from konlpy.tag import Okt
from collections import Counter
from wordcloud import WordCloud, STOPWORDS
import matplotlib.pyplot as plt
import matplotlib as mp
df = pd.read_csv('gangseo.csv')
script = df['title']
script.head(2)
0 화곡동 1041-4호 막다른골목~일방로, 동양하우징 건물 우측 전봇대에 후사 보조경...
1 곰달래로35길 보행로 설치 제안
Name: title, dtype: object
script.to_csv('word.txt', encoding='utf-8-sig')
text = open('word.txt', encoding='utf-8-sig').read()
spwords=set(STOPWORDS)
def token_konlpy(text):
okt=Okt()
return [word for word in okt.nouns(text) if len(word)>1]
noun = token_konlpy(text)
len(noun)
4854
noun_set = set(noun)
len(noun_set)
1648
word = dict(count.most_common(20))
count = Counter(noun)
count.pop('강서구')
count.pop('강서')
count.pop('구청')
count.pop('센터')
count.pop('개선')
count.pop('요청')
count.pop('처리')
count.pop('제안')
count.pop('이용')
count.pop('활용')
count.pop('시설')
count.pop('방안')
count.pop('운영')
count.pop('지역')
count.pop('관련')
count.pop('대한')
count.pop('건의')
count.pop('민원')
count.pop('서비스')
count.pop('변경')
count.pop('관리')
count.pop('주민')
count.pop('대하')
count.pop('실시')
count.pop('구민')
count.pop('문제')
14
wc = WordCloud(max_font_size=200,
font_path = 'C:\Windows\Fonts\malgun.ttf',
stopwords=spwords, background_color="white",
width=2000, height=500).generate_from_frequencies(word)
plt.figure(figsize = (40,40))
plt.imshow(wc)
plt.tight_layout(pad=0)
plt.axis('off')
plt.show()
