利用前面抓取的信息,开始分析,这里可以说都是看到大佬的文章,模仿加上自己的想象加工,确实不太了解实际业务需求,如果有业内朋友看到,欢迎帮我指正,也欢迎大家帮我出出主意,有时间会更新进文章里
Previously![ 自嗨笔记#1] 微博疫情舆情分析—爬取部分
一、观察数据,整理
这里评论2200条非空,其他的为2257条非空,估计是用表情评论的被过滤了,其他目前看不出问题
二、建立需求
三,代码实现
def snownlp_c(element):
try:
sn=SnowNLP(element)
return round(sn.sentiments,1)
except:
pass
comment['snownlp']=comment['评论正文'].transform(snownlp_c)-0.5 #以0.5为分界线,处理为[-0.5,0.5]的区间,0.5为正向
# snowNlp
a = comment.groupby(by=['snownlp'])['评论正文'].count().reset_index()
print(a)
其实这里用柱状图更好些
a2=news.groupby(by=['性别'])['作者id'].count().reset_index()
plt.figure()
plt.pie(a2['作者id'],labels=['女','男'],
labeldistance = 1.1,autopct = '%3.1f%%',shadow = False,
startangle = 90,pctdistance = 0.6)
plt.title('微博作者性别统计',fontproperties='SimHei')
plt.show()
a1=comment.groupby(by=['性别'])['id'].count().reset_index()
plt.figure()
plt.pie(a1['id'],labels=['女','男'],
labeldistance = 1.1,autopct = '%3.1f%%',shadow = False,
startangle = 90,pctdistance = 0.6)
plt.title('评论区性别统计',fontproperties='SimHei')
plt.show()
max_date = news['发布时间'].max()
min_date = news['发布时间'].min()
print('时间范围',max_date,min_date)
n=news.groupby(by=['昵称'])['新闻id'].count().reset_index().sort_values(by='新闻id',axis=0,ascending=False).head()
print(n)
dt['互动时间']=dt['时间日期']-dt['发布时间']
print(dt['互动时间'].mean())
m=comment.groupby(by='id')['评论正文'].count().reset_index().sort_values(by='评论正文',axis=0,ascending=False).head()
print(m)
# s=comment['id'].isin(m['id'])
# print(comment.loc[comment['id'].isin(m['id']),['评论正文','评论昵称','新闻id','时间日期']]) #再分组,实际效果不如for
for i in m['id']:
print(comment.loc[comment['id'] == i,['评论正文','评论昵称','新闻id','时间日期']])
微博发布时间的分布
评论时间的分布
微博发布时间与影响力关系
影响力:转发数+评论数+点赞数
相关文章
[ 自嗨笔记#1] 微博疫情舆情分析—爬取部分
[ 自嗨笔记#3] 后浪 评论分析
[ 自嗨笔记#4] 百度文库付费文章-----网页分析
ESP32开发板-Micropython-TCP 远程通信控制LED操作1 硬件篇,确定连接LED的GPIO口2 软件篇(1)ESP32能控制灯亮灭from machine import Pin # 导入Pin模块from utime import sleep_ms #导入延时函数def led(control_cmd): LED = Pin(22,Pin.OUT) # 构建 LED 对象,GPIO22 输出 if control_cmd == "灯亮":
第3章 程序的样式 在《高质量程序设计指南(C++/C语言)》中,作者说:可以把程序的版式比喻为“书法”,好的“书法”可以让人对程序一目了然,看得兴致勃勃。确实,我们一打开程序,首先看到的便是程序的排版,我们的第一印象便是程序写得是工整还是凌乱。都说第一印象很重要,为了给大家留下好的第一印象,我们一定要注重程序的版式。 此外,好的注释能够帮助读者更快地理解程序,提高工作效率。也许是因为工作比较...
javaweb敏感词过滤1.装饰模式2.代理模式真实对象代理对象代理模式实现方式:1.静态代理:有一个类文件描述代理模式2.动态代理:在内存中形成代理类实现步骤:代理对象与真实对象实现相同的接口代理对象 = Proxy.newInstance使用代理对象调用方法。增强方法增强方式:1.增强参数列表2.增强返回值类型3.增强方法体执行逻辑...
执行顺序源代码拦截器类package com.jd.m.tg.interceptor;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Component;import org.springframework.web.serv...
[转载]《程序员修炼之道 》笔记与感想1 我的源码让猫给吃了不要寻找借口,从自身找原因2 软件的熵一句话:不以善小而不为,勿以恶小而为之.从初期就要做好规范,不要因为是poc这样的前提而放松对代码的规范,现在的项目就有这种问题,初期的时候有人认为(自己也有这种想法)等到以后正式开发的时候再规范,而往往还未到正式开发,到处出现不规范的东西.加上拷贝粘贴的大法,亡羊补牢都晚了.这就是所谓破...
引言有的同学可能会问这个问题,有了Long类型,为什么还要弄一个AtomicLong类出来?因为在32位的操作系统中,64位的Long类型变量会被jvm拆分为两个32位的来操作,因此不具备原子性。而AtomicLong类型可以保证原子性。1、AtomicLong介绍AtomicInteger, AtomicLong和AtomicBoolean这3个基本类型的原子类的原理和用法相似。本章以J...
# -*- coding=utf8 -*-import osimport base64import randomimport timeimport hashlib# 方法一tmp = os.urandom(44)secret_key = base64.b64encode(tmp)print(secret_key)# 方法二def get_random_secret_ke...
本文作为SPI的第二篇文章,讲述了设备驱动模型等。包括:1、spi总线注册。2、spi驱动注册。3、spi设备注册。4、spi传输函数。
不敢去做一件事就会一直觉得它很难。。以前一直觉得AC自动机应该超难写,学了以后发现实在太好写了。。AC自动机的fail指针与KMP算法的next数组是极为相似的,都是通过这些来减少冗余的扫描,所以我也把AC自动机的fail指针名字直接开成next了。。AC自动机与KMP的不同在于KMP是单模式串匹配,AC自动机是多模式串匹配,所以AC自动机可以理解为就是在trie树上加上一些next指
1 表象 控制台报错截图没有完整的截下来,其实右边行号并没有具体的行号, 显示为payment-809e8ff.js 1很明显 这是 js语法错误 但是当点击开里面显示的是html内容 第一行的 红色错误首先第一眼看到这样的问题 直观感受是这问题 基本无法定位但是实际上仔细看下可以发现 这个html并不是我们引用这个js页面的html页面, 而是跳转到了默认的404,当我们再...
Bundle可能过put****()方法添加各种类型的数据,Intent也可以通过putExtras(Bundle)将数据添加进去,然后通过startActivity()跳到下一下Activity的时候就把数据也传到下一个Activity了。package com.intent;import android.app.Activity;import android.content.Inte
“The Edger8r tool ships as part of the Intel Software Guard Extensions SDK. It generates edge routines by reading a user-provided Enclave Description Language (EDL) file. These edge routines def...