python 數據分析--詞雲圖,圖形可視化美國競選辯論


這篇博客從用python實現分析數據的一個完整過程。以下着重幾個python的moudle的運用“pandas”,"“wordcloud”,“matlibplot”;

1、導入數據,看看數據的結構內容:

import pandas as pd
mytext = pd.read_csv(r'F:\kaggle data\2016-us-presidential-debates\test.csv',encoding = 'iso-8859-1')
>>> mytext.head(2) ######看看數據的結構
   Line   Speaker                                               Text  \
0     1      Holt  Good evening from Hofstra University in Hempst...   
1     2  Audience                                         (APPLAUSE)   

        Date  
0  2016/9/26  
1  2016/9/26  

2、清洗數據(包括剔除異常數據,新增必要字段,以及簡單的字段為空的處理)

text = mytext.iloc[7:26,:].reset_index(drop=True)  #行操作:前面幾行是寒暄不用具體看所以刪除前面7行
del text['Date'] #列操作:刪除Date列
## text.insert(3,"新加列",新加列的數值)

3、制作各個candidate的言論的詞雲圖;

import matplotlib.pyplot as plt 
from wordcloud import WordCloud   ##詞雲庫
import nltk
from nltk.corpus import stopwords  ##分詞庫
stopwords =set(stopwords("english"))
stopwords |={"will","yes"} words
= " ".join((text.Speaker=='Clinton').['Text']) ##將希拉里的發言匯集起來 cloud =WordCloud(background_color="white",width=3000,height=2500,stopwords=stopwords).generate(words)
plt.figure(1,figsize=(8,8))
plt.imshow(cloud)
plt.show()

ps:這里只是做了個簡單的可視化,可以自己嘗試

 4、進一步挖掘數據內容【ex:此前美國媒體反映在美國競選第一次辯論時,川普經常被打斷的現象嚴重,我們可以用數據來觀察這一現象】

trump=[3,5,7] #'Making laugh','Making applaud','Be interrupted'
clinton=[3,3,2] #'Making laugh','Making applaud','Be interrupted'
fig,ax=plt.subplots()
width=0.35
rects1 = ax.bar(ind,trump,width,color='r') 
tects2 = ax.bar(ind+width,clinton,width,color='y')
ax.set_ylabel('Counts')
ax.set_title('Counts of behavior of mediator and audience')
ax.set_xticks(ind)
ax.set_xticklabels(('Making laugh','Making applaud','Be interrupted'),rotation =45)
plt.show()

根據這個觀點然后去挖掘可以看到川普頻繁被打斷,其實后面還可以挖挖,川普在說什么內容的時候被打斷(同樣可以類似上面的詞雲的操作,有興趣可以試下)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM