这篇博客从用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()

根据这个观点然后去挖掘可以看到川普频繁被打断,其实后面还可以挖挖,川普在说什么内容的时候被打断(同样可以类似上面的词云的操作,有兴趣可以试下)。

python 数据分析--词云图,图形可视化美国竞选辩论的更多相关文章

  1. Python 数据分析中常用的可视化工具

    Python 数据分析中常用的可视化工具 1 Matplotlib 用于创建出版质量图表的绘图工具库,目的是为 Python 构建一个 Matlab 式的绘图接口. 1.1 安装 Anaconada ...

  2. python爬虫+词云图,爬取网易云音乐评论

    又到了清明时节,用python爬取了网易云音乐<清明雨上>的评论,统计词频和绘制词云图,记录过程中遇到一些问题 爬取网易云音乐的评论 一开始是按照常规思路,分析网页ajax的传参情况.看到 ...

  3. python 绘制词云图

    1. 先下载并安装nltk包,准备一张简单的图片存入代码所在文件目录,搜集英文停用词表 import nltk nltk.download() 2. 绘制词云图 import re import nu ...

  4. python 做词云图

    #导入需要模块 import jieba import numpy as np import matplotlib.pyplot as plt from PIL import Image from w ...

  5. 《Python数据分析》笔记——数据可视化

    数据可视化 matplotlib绘图入门 为了使用matplotlib来绘制基本图像,需要调用matplotlib.pyplot子库中的plot()函数 import matplotlib.pyplo ...

  6. 使用Python写词云数据可视化

    词云的应用场景 会议记录 海报制作 PPT制作 生日表白 数据挖掘 情感分析 用户画像 微信聊天记录分析 微博情感分析 Bilibili弹幕情感分析 年终总结 安装本课程所需的Python第三方模块 ...

  7. python词云图与中文分词

    2019-12-12中文文本分词和词云图具体功能介绍与学习代码: import jiebaa="由于中文文本的单词不是通过空格或者标点符号来进行分割"#jieba.lcut()s是 ...

  8. python 可视化 词云图

    文本挖掘及可视化知识链接 我的代码: # -*- coding: utf-8 -*- from pandas import read_csv import numpy as np from sklea ...

  9. (数据科学学习手札71)在Python中制作个性化词云图

    本文对应脚本及数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 一.简介 词云图是文本挖掘中用来表征词频的数据可视化 ...

随机推荐

  1. 模拟搭建Web项目的真实运行环境(二)

    上一节已经介绍了如何在虚拟机中部署测试环境,接下来将介绍怎么在ubuntu下部署redis.   一.在ubuntu安装Xrdp + Vnc 为了在以后可以通过windows系统来远程操作ubuntu ...

  2. JS中修改属性

    <!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...

  3. SQLite -- 分页查询

    原文:http://blog.csdn.net/lu1024188315/article/details/51734514 参考:http://www.runoob.com/sqlite/sqlite ...

  4. DB2 license过期的问题

    今天启动DB2,无论如何都启动不了,报一个错误:“Windows 不能在 本地计算机 启动 DB2 - DB2COPY - DB2-0.有关更多信息,查阅系统事件日志.如果这是非 Microsoft ...

  5. java多线程面试题

    很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的.这篇文章收集了Java线程方面 ...

  6. PHP 汉字数字互转(100以内)| PHP 汉字转数字 | PHP数字转汉字

    <?php function numDatabase(){ $numarr =array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,2 ...

  7. Codeforces118D Caesar's Legions(DP)

    题目 Source http://codeforces.com/problemset/problem/118/D Description Gaius Julius Caesar, a famous g ...

  8. nginx中配置pathinfo模式示例

    要想让nginx支持PATH_INFO,首先需要知道什么是pathinfo,为什么要用pathinfo? pathinfo不是nginx的功能,pathinfo是php的功能. php中有两个path ...

  9. 卸载oracle删除注册表脚本

    一.前言 在我们操作系统中,有时要卸载oracle数据库,每一次都要去删除win下的注册表,为了方便删除注册表的信息,下面通过一种删除注册表快捷的脚本. 二.脚本信息 Windows Registry ...

  10. Leetcode Trapping Rain Water

    Given n non-negative integers representing an elevation map where the width of each bar is 1, comput ...