热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于python:王力宏事件终于得到回应教你用Python分析

大家好,我是查理~昨晚,刚刚王力宏终于回应了。明天罗唆手把手教大家如何数据处理+可视化他的微博评论,下载残缺代码数据见文末。12月15日,王力宏在微博忽然发表离婚,示意“靓蕾和我的私生活很简略很单纯,所以不会再回应任何媒体”,完结了8年的婚姻。12月17日深夜,王力宏前妻李靓蕾忽然发文,示意长期被王力宏及其

大家好,我是查理~

昨晚,刚刚王力宏终于回应了。

明天罗唆手把手教大家如何数据处理+可视化他的微博评论,下载残缺代码/数据见文末。


12月15日,王力宏在微博忽然发表离婚,示意“靓蕾和我的私生活很简略很单纯,所以不会再回应任何媒体”,完结了8年的婚姻。

12月17日深夜,王力宏前妻李靓蕾忽然发文,示意长期被王力宏及其家人羞辱和冷暴力,同时还曝出王力宏婚内出轨、私生活凌乱等鲜为人知的事件,使得王力宏多年来的“优质男星”形象奄奄一息。

文章一经收回,引发热议,王力宏长期以来的“优质偶像”形象备受质疑,不少网友在李靓蕾的微博下留言示意,“好惆怅,太悲观了”“王力宏在我心中的形象坍塌了”。

明天就带大家用数据——吃吃瓜


我应用Python编程,爬取王力宏发表离婚的微博下的评论。

下载的csv文件中包含用户名、用户id、评论创立工夫、评论id、评论内容等。

如上图所示,原始数据中的内容十分凌乱,微博评论中夹杂大量表情包、话题以及“转发微博”等等,须要进行数据荡涤。

首先依据评论的惟一ID进行去重

df_1 = df_1.drop_duplicates(['idstr']).iloc[:,1:]

接着,对所有的微博评论依照小时计数

df_1['created_date'] = pd.to_datetime(df_1['created_date'])df_1_date = df_1.groupby([pd.Grouper(key='created_date',freq='H')]).size().reset_index(name='count')

失去分时数据后,就能够应用Matplotlib绘制折线图。

columns = df_date.columnsfig = plt.figure(figsize=(10, 5), dpi=100)plt.fill_between(df_date['created_date'].values, y1=df_date['count_x'].values, y2=0,                 label='王力宏微博新增评论数/小时', alpha=0.75, facecolor="#43a9cb", linek')plt.xlabel("Date")plt.ylabel("Value")plt.legend(loc='upper right')plt.show()fig.savefig('王力宏.png')

输入后果如下所示

15日时刚刚公布微博,霎时引爆评论,火速上热搜。

16、17日便没有什么评论了。

直到昨晚23点,前妻李靓蕾深夜发文后,大众们连忙冲过来开团。

PS:除了吃瓜大众,速度最快的应该是英菲尼迪。

12月16日14时,奢华汽车品牌英菲尼迪才刚刚官宣王力宏成为品牌代言人。18日凌晨1点22分,微博名为@英菲尼迪中国 便公布申明英菲尼迪决定即日起终止与王力宏学生的单干关系。英菲尼迪从和他签约到解约,仅有35小时。


如果咱们将王力宏和李靓蕾的微博评论数量,放在一张图会是什么样子呢?

正好我也爬了李靓蕾的微博评论,同样进行数据处理后

columns = df_date.columnsfig = plt.figure(figsize=(10, 8), dpi=100)plt.fill_between(df_date['created_date'].values, y1=df_date['count_x'].values, y2=0,                 label='王力宏微博新增评论数/小时', alpha=0.75, facecolor="#43a9cb", linek')plt.fill_between(df_date['created_date'].values, y1=df_date['count_y'].values, y2=0,                 label='李靓蕾微博新增评论数/小时', alpha=0.75, facecolor="#b7ba6b", linek')plt.xlabel("Date")plt.ylabel("Value")plt.legend(loc='upper left')plt.show()

输入后果如下所示:

相比之下,王力宏这边的评论就基本不是一个量级,显得是“弟中之弟”了。

吃瓜大众原来全副涌向了李靓蕾的微博


这次咱们还是想盘点一下:大众们开团后,都发了些什么?

与之前文章传统的词云图不一样,我打算玩点新货色。在前文中制作的折线面积图中,将不同时间段的词云填充其中。

很多小伙伴比拟好奇怎么做的,其实就是ps将前文的折线图和生成的词云图层叠加。如果你要问Python能不呢做到图层笼罩,我的答复是能够但没必要。

做词云图前,须要将所有王力宏的微博评论分成两局部(即前妻开锤前后),留神下方代码中以2021-12-17 23:08:00"为界。

def get_cut_words(content_series):    # 读入停用词表    import jieba     stop_words = []     with open("stop_words.txt", 'r', encoding='utf-8') as f:        lines = f.readlines()        for line in lines:            stop_words.append(line.strip())    # 增加关键词    my_words = ['分分合合', '拉黑']          for i in my_words:        jieba.add_word(i)     # 自定义停用词    my_stop_words = ['快转','转发','微博']        stop_words.extend(my_stop_words)                   # 分词    word_num = jieba.lcut(content_series.str.cat(sep='。'), cut_all=False)    # 条件筛选    word_num_selected = [i for i in word_num if i not in stop_words and len(i)>=2]        return word_num_selectedtext1 = get_cut_words(content_series=df_1[df_1["created_date"] < "2021-12-17 23:08:00"]['text1'])

接着筹备两个蒙版(取自后面失去的折线图)

词云图的代码具体大家都很相熟了,这里只需注意一点。

background_color='white'# 改为background_color=None,mode='RGBA',

这样就能够将词云图的背景色设置为通明,从而不便图层叠加。

这样咱们就能够制作如下所示的图了

在前妻李靓蕾曝光前,王力宏的微博评论下根本都是这样的:“结婚是为了幸福,离婚也是”、“情人总分分合合”、“尊重二哥的抉择”。

曝光后,王力宏的微博评论下变成了这样:“从新定义简略单纯”、“渣男”、“下头”、“私生活简略?你羞辱了简略这个词”、“人设崩塌”。

PS:愤恨的吃瓜大众还输入了很多“脏话”,我在词云图里做了排除。

咱们再换个方向,娱乐一下。

我决定用数据探索一下:吃瓜的猹们最爱发哪些表情呢?

我提取了10万条评论中的emoji表情,先提取微博评论能够应用的emoji的所有名称(此处仅展现一部分)。

emoji_list = ["[小红花]","[微笑]","[可恶]","[太开心]","[鼓掌]","[嘻嘻]","[哈哈]","[笑cry]","[挤眼]","[馋嘴]","[黑线]","[汗]","[挖鼻]","[哼]","[怒]","[冤屈]","[可怜]","[悲观]","[悲伤]","[泪]","[允悲]"]

应用in判断是否蕴含某个emoji

def emoji_lis(string):    entities = []    for i in emoji_list:        if i in string:            entities.append(i)    return entitiesemoji_s = []for index, row in df_1.iterrows():    text = str(row['text'])    emoji_s.extend(emoji_lis(text))    c = collections.Counter(emoji_s)print(c)

即可失去各emoji呈现的次数:

同样还是应用应用Matplotlib绘制极坐标图

输入后果如下所示:

匹配采集到评论中的表情后,依照呈现次数选取前8名,并将其制作成极坐标图。

发现前8名的表情是:悲伤、泪、允悲、微笑、doge、吐、独身狗、吃瓜。


王力宏自出道便顶着“优质偶像”的名头,家境良好、才华横溢、长相端正,出道多年更是鲜有负面呈现。现在看来,优质的表皮只是假面,他千挑万选找了一个最好拿捏的妻子,却又在她多年的忍让中贪得无厌,变本加厉。

如同李靓蕾长文所说“如果你的演艺事业有受影响,是你本人做出的种种抉择造成的,不是我。


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了如何将CIM_DateTime解析为.Net DateTime,并分享了解析过程中可能遇到的问题和解决方法。通过使用DateTime.ParseExact方法和适当的格式字符串,可以成功解析CIM_DateTime字符串。同时还提供了关于WMI和字符串格式的相关信息。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
author-avatar
沉沦850
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有