特朗普退出《巴黎协定》:python词云图舆情分析
1 前言
2017年6月1日,美国特朗普总统正式宣布美国退出《巴黎协定》。宣布退出《巴黎协定》后,特朗普似乎成了“全球公敌”。
- 特斯拉总裁马斯克宣布退出总统顾问团队
- 迪士尼董事长离开总统委员会
- 谷歌等25家大公司联名刊发整版广告:美国不应退出巴黎协定
- 法国总统马克龙:特朗普宣布退出《巴黎协定》是“错误”之举
- ……
在此背景下,本文以python词云图分析的方式来了解下相关情况。
2 特朗普演讲内容分析
首先来看下特朗普宣布退出《巴黎协定》时都说了啥。
特朗普宣布退出《巴黎协定》的演讲内容(英文)来自美国政府的官方网站,将其演讲内容存入文本文件中(statement.txt)。
对其演讲内容进行词云图分析后,得到如下结果:
从上图可看出,整个讲话中,”美国”(United states, America)出现的次数最多,其他的词语除巴黎协定外包括就业、工作等。
可见其核心关注点还是在“美国”,跟其就职演讲的口号“Make America Great Again”的基本思路是一致的,还是一切以美国为重。
具体分析的代码如下:
# -*- coding: utf-8 -*-
"""
@author: lemon
欢迎关注微信公众号:“Python数据之道”
"""
import jieba
from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
import os
import PIL.Image as Image
import numpy as np
# 读取文本内容
with open('statement.txt') as f:
text = f.read()
f.close()
# 首先使用 jieba 中文分词工具进行分词
wordlist = jieba.cut(text, cut_all=False)
# cut_all, True为全模式,False为精确模式
wordlist_space_split = ' '.join(wordlist)
d = os.path.dirname(__file__)
alice_coloring = np.array(Image.open(os.path.join(d,'colors.png')))
# my_wordcloud = WordCloud(background_color='#F0F8FF', max_words=50, mask=alice_coloring,
# max_font_size=300, random_state=42).generate(wordlist_space_split)
stop_words_list = ['applause', 'Applause']
# 对分词后的文本生成词云
my_wordcloud = WordCloud(background_color='#F0F8FF',
max_words=100,
font_step=1,
mask=alice_coloring,
random_state= 30, # 设置有多少种随机生成状态,即有多少种配色方案
max_font_size=300,
)
# Generate word cloud
my_wordcloud.generate(wordlist_space_split)
image_colors = ImageColorGenerator(alice_coloring)
plt.show(my_wordcloud.recolor(color_func=image_colors))
plt.imshow(my_wordcloud) # 以图片的形式显示词云
plt.axis('off') # 关闭坐标轴
plt.show()
my_wordcloud.to_file(os.path.join(d, 'Pairs_accord_colors_cloud.jpg'))
3 新闻媒体舆论分析
特朗普宣布退出《巴黎协定》后,各方讨论纷纷,新闻媒体上更是炸开了锅,总的来看,似乎是批评的声音占多少。
例如世界资源所发布声明:
特朗普总统退出《巴黎协定》的决定是巨大的错误
退出《巴黎协定》将造成美国外交孤立,使之与近200个国家对立。现在有194个国家展现出团结一致应对气候变化的决心,而只有叙利亚、尼加拉瓜和美国这三个国家背道而驰。
下面通过收集部分新闻媒体发布的关于美国退出《巴黎协定》的评论内容,然后通过python词云图的方式来进行分析。
收集的新闻评论内容包括(只列出标题):
- 特朗普宣布退出巴黎协议 欧洲称协议不能被重新谈判
- 特朗普宣布美国将退出《巴黎协定》 美各界反对
- 特朗普宣布美国将退出《巴黎协定》 美各界反对
- 特朗普宣布退出《巴黎协定》 众科技大佬纷纷发文反对
- 特朗普正式宣布退巴黎协定 中欧将联手反击
- 退出巴黎协定是特朗普一步错棋
- 《巴黎协定》究竟哪里得罪了特朗普?
- 世界资源研究所声明:特朗普总统退出《巴黎协定》的决定是巨大的错误
词云图以特朗普的一张图片为背景轮廓来进行分析,采用的图片如下(川普的造型还是很拽滴!):
通过词云图分析后,得到的结果如下:
具体代码跟上述分析过程类似,这里就不贴出来了。
通过上图可以看出,这个事件最出名的当然是特朗普了。从词频来看,还是“美国”出现次数最多,特朗普以美国为重的执政理念通过这些舆论也能从某些程度上体现一些出来。
4 闲谈
当然,客观的来说,特朗普宣布美国退出《巴黎协定》,其影响实际上应该是没有当年小布什政府宣布退出《京都议定书》那时的影响大,其主要原因包括两点:
- 《巴黎协定》目前已于2016年生效,全球已有190多个国家参与,美国退出的影响力有限。
- 美国退出《京都议定书》后,导致《京都议定书》推迟了4年才生效。
如需转载,请在公众号留言进行授权事宜沟通。
转载请注明文章来自微信公众号“Python数据之道”。
更多精彩内容请关注微信公众号:
“Python数据之道”
特朗普退出《巴黎协定》:python词云图舆情分析的更多相关文章
- python词云图之WordCloud
1. 导入需要的包package import matplotlib.pyplot as plt from scipy.misc import imread from wordcloud import ...
- python词云图与中文分词
2019-12-12中文文本分词和词云图具体功能介绍与学习代码: import jiebaa="由于中文文本的单词不是通过空格或者标点符号来进行分割"#jieba.lcut()s是 ...
- 3.python词云图的生成
安装库 pip install jieba wordcloud matplotlib 准备 txt文本 字体(simhei.ttf) 词云背景图片 代码 import matplotlib.pyplo ...
- python绘制WordCloud词云图
目录 前言 核心代码 测试 前言 当我们想快速了解书籍.小说.电影剧本中的内容时,可以绘制 WordCloud 词云图,显示主要的关键词(高频词),可以非常直观地看到结果 核心代码 from word ...
- Python模块---Wordcloud生成词云图
wordcloud是Python扩展库中一种将词语用图片表达出来的一种形式,通过词云生成的图片,我们可以更加直观的看出某篇文章的故事梗概. 首先贴出一张词云图(以哈利波特小说为例): 在生成词云图之前 ...
- python 数据分析--词云图,图形可视化美国竞选辩论
这篇博客从用python实现分析数据的一个完整过程.以下着重几个python的moudle的运用"pandas",""wordcloud"," ...
- python绘制中文词云图
准备工作 主要用到Python的两个第三方库 jieba:中文分词工具 wordcloud:python下的词云生成工具 步骤 准备语料库,词云图需要的背景图片 使用jieba进行分词,去停用词,词频 ...
- 词云wordcloud类介绍&python制作词云图&词云图乱码问题等小坑
词云图,大家一定见过,大数据时代大家经常见,我们今天就来用python的第三方库wordcloud,来制作一个大数据词云图,同时会降到这个过程中遇到的各种坑, 举个例子,下面是我从自己的微信上抓的微信 ...
- python爬虫+词云图,爬取网易云音乐评论
又到了清明时节,用python爬取了网易云音乐<清明雨上>的评论,统计词频和绘制词云图,记录过程中遇到一些问题 爬取网易云音乐的评论 一开始是按照常规思路,分析网页ajax的传参情况.看到 ...
随机推荐
- ios 渐进淡出
在github上寻找的经典demo //以view为继承类 LazyFadeInView-master https://github.com/itouch2/LazyFadeInView //以Lab ...
- Android系统--输入系统(五)输入系统框架
Android系统--输入系统(五)输入系统框架 1. Android设备使用场景: 假设一个Android平板,APP功能.系统功能(开机关机.调节音量).外接设备功能(键盘.触摸屏.USB外接键盘 ...
- 【HDOJ 1086】 模板水过
You can Solve a Geometry Problem too Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/3 ...
- ionic打包项目,运行时报错A problem occurred configuring root project 'android'。。。
运行报错的原因是sdk没有下载完整 解决办法: 1,打开sdk manage.分别下载android support repository.Google play services.google re ...
- ArrayList 线程安全
都说ArrayList是线程不安全的,那为什么不安全呢.根据官方提供的源码, 我是这样理解的,ArrayList的成员方法都不是原子操作的,比如add(E)方法,该方法是在集合的尾部加入一个一个元素. ...
- JDK源码之PriorityQueue源码剖析
除特别注明外,本站所有文章均为原创,转载请注明地址 一.优先队列的应用 优先队列在程序开发中屡见不鲜,比如操作系统在进行进程调度时一种可行的算法是使用优先队列,当一个新的进程被fork()出来后,首先 ...
- Javascript中Array(数组)对象常用的几个方法
Javascript中Array数组的几个常用方法 pop() --获取数组中末尾的元素 shift() --获取数组中首位元素 push() --在数组中末尾增加元素 slice() --按照下 ...
- PHP 学习笔记(2)
<?php$foo = "0"; // $foo 是字符串 (ASCII 48)$foo += 2; // $foo 现在是一个整数 (2)$foo = $foo + ...
- codeforces 803B Distances to Zero
Distances to Zero 题目链接:http://codeforces.com/problemset/problem/803/B 题目大意: 给一串数字,求每个数字到离他最近数字0的距离.. ...
- WebGIS开源解决方案之开发环境搭建(一)
工欲善其事,必先利其器,本文主要讲述WebGIS开源解决方案之环境搭建--geoserver的安装 安装方式一:tomcat环境下安装 从tomcat官网下载tomcat环境,下载链接:http:// ...