大数据如何使用Python分析微信数据
截至2020年第二季度,微信拥有超过27亿活跃用户。这意味着,如果你正在阅读大数据如何使用Python分析微信数据,那么你很可能是微信用户。但是,你到底有多少微信用户?你实际发布了多少?我们可以使用Python找出答案!
具体来说,我们将使用Python创建此图表,该图表显示了我们每月随时间发布的频率:
出于大数据如何使用Python分析微信数据的目的,我们假设你熟悉Python和Jupyter Notebook的基础知识-如果不熟悉,请首先阅读大数据如何使用Python分析微信数据以分析你的Amazon支出。
步骤1:下载你的微信数据
微信实际上允许我们下载我们在该网站上所做的几乎所有事情。你可以在此处下载数据,但你可能不想下载所有数据-该文件可能很大,具体取决于你使用微信的频率以及使用该文件的时间。
对于大数据如何使用Python分析微信数据,我们将专门研究我们自己的个人微信帖子,并尝试回答以下问题:
1)我多久发布一次?
2)我使用微信的次数比以前多还是少?
要仅获取与帖子有关的数据,请转到数据下载页面。将请求的文件格式从HTML更改为JSON,然后从以下选项中取消选择所有内容,仅选中帖子,然后点击创建文件。
创建文件并准备下载文件时,微信会通知你-这可能需要一段时间,具体取决于你的微信历史记录和选项。
下载zip文件,解压缩,然后查找posts文件夹和名为的文件your_posts_1.json。这就是我们将在大数据如何使用Python分析微信数据中使用的文件。
步骤2:导入和格式化数据
接下来,我们必须将这些数据放入pandas数据框中,因此启动Jupyter Notebooks(如果需要复习,这里是Jupyter Notebooks的初学者指南)。我们将从导入数据并将其读取到DataFrame开始。
内置pd.read_json()函数将能够自动解释DataFrame中的JSON数据。(你会看到,它并不完美,但是在这里可以满足我们的目的)。
如我们所见,这并不完美。我们的某些列在每一行中都有嵌套的子列,这些子列仍为JSON格式。如果我们想使用这些数据,则需要处理。
但是要在这里回答我们的问题- 我们在微信上发布的内容比以前更多还是更少?-我们确实不需要处理实际的帖子内容或其他信息,例如附加的媒体文件。我们只关心频率 -新帖的发布频率。
接下来,我们将确保timestamp列的格式正确,然后使用将其转换为datetime对象to_datetime()。'date'为了清楚起见,我们还将重命名它并删除一些不必要的列-严格来说这不是必须的步骤,但这有助于我们更轻松地进行查看。
现在,我们有了一些更清洁的东西可以使用!如果我们要检查正在分析的帖子df.shape数,可以用来计算行数。
df.tail()检查数据框的结尾也可能是一个好主意,以确保它确实涵盖了我们整个微信的使用情况:
以我的个人微信数据为例,我总共发布了4,000多次。我的数据可以追溯到2005年初,当时我显然发布了一些有关“ 美国夏季热天气”的信息。我在2005年上大学,所以时间安排得很。
你可能会注意到有些行显示为NaN-这些帖子仅包含图片,不包含文字。图片将在该'attachments'列中链接,但是我们已将其删除,因此在此处不可见。
第3步:计算月度帖子计数
现在我们有了数据,我们需要将其转换成一种可以告诉我们有关发布频率的格式。鉴于我们在这里已有多年的历史,所以逐月查看它是最有意义的。这意味着我们需要'date'按月对列进行分组,并计算每个月与多少行(即帖子)相关联。
幸运的是,pandas的设计使使用时间序列数据变得相对简单。我们需要在这里做两件事:
1)将date列设置为我们的DataFrame的索引。
2)按月重新采样数据,计算每个月有多少帖子。
第一步,我们可以使用set_index()。第二步比较复杂,所以让我们将其分为四个单独的步骤,以分解我们需要编写的代码:
1)选择我们要重采样的列-在这种情况下,就是该data列。
2)将.resample()函数与参数一起使用'MS'(“月开始”),可以按月对数据进行重新采样。
3)使用.size()指定我们想要每个月来衡量-在这种情况下,行(即职位)具有落入该月内的一个发布日期的数量。
4)将结果系列分配给名为的变量post_counts。
这是实际的情况:
看起来很棒!我们按月细分了发帖计数,如果我们检查原始数据集,我们可以很快看到计数是正确的。
请注意,没有帖子的月份被正确地计为0而不是被略过。这就是为什么使用resample(),旨在与时间序列配合使用的原因,比起使用类似的东西更好的原因,使用,groupby()如果我们不小心,很容易跳过没有数据的月份。
步骤4:可视化你的微信使用情况
无论如何,既然我们已经完成了棘手的部分,剩下的就是乐趣:可视化!为此,我们将导入matplotlib(并使用%matplotlib inline魔术使图表显示在Jupyter Notebook中。还将导入Seaborn和NumPy,这将有助于我们制作更具可读性的图表。
导入完成后,将用于sns.set()设置图表的大小和字体大小。由于我们在此处处理大量数据,因此我们将使图表很大,并确保字体大小足够大以便可读。
然后,我们将设置x标签以使用post_counts(日期)的索引,并用于sns.barplot()创建条形图。在的参数中sns.barplot(),我们将告诉函数使用定义的x标签,在中绘制数据post_counts,并使条形变为蓝色。
仅此一项就足以创建基本图表,但是在这种情况下,我们将要采取一些其他步骤来使图表更具可读性。具体来说,我们希望将x轴上的刻度位置安排为每24个月一次,以便在结果图表中每隔一年查看一次刻度。我们还希望重新格式化图表中的日期,以便仅显示年份。
(由于这不是关于数据可视化的教程,因此,在大数据如何使用Python分析微信数据中,我们不会对其进行深入研究。但是,如果你想了解更多有关如何使用Python进行出色的数据可视化的信息,我们你可以免费尝试探索性数据可视化和通过数据可视化讲故事的课程)。
我们仍然可以通过某些方法使此图表更加美观,但是出于我们的目的,这足以理解数据并分析我们的微信发布历史记录。
就我而言-上面的图表是我的个人微信数据-我们可以看到我很少在初期发布在微信上。我有大量的帖子-每月数百个!-在2007年夏季和2009年春季,这与旅行相吻合。
我的常规使用量在2011年左右开始回升,并在2016年左右达到峰值。此后,它逐渐消失,从2019年开始我完全停止使用微信。在高峰期,我每个月发布近100次!
记住,那只是帖子,不是评论!还有其他用于评论的JSON文件,但是我很尴尬。如果你想进一步分析,那么深入研究注释文件将是一个不错的下一步!
让我们在大数据如何使用Python分析微信数据上称赞它,并回顾一下我们已完成的工作:
1)我们从微信下载了个人使用数据
2)我们将JSON文件读入pandas DataFrame中
3)我们按月细分了数据,并统计了每个月的帖子数
4)我们可视化了微信的用法并学到了一些东西:查理(Charlie)过去在微信上花费了太多时间。
如果你喜欢做这样的项目,请查看AAA教育的交互式浏览器内课程!与我们在此介绍的内容相比,它们更具沉浸感和方式,更深入。实际上,我们提供了无缝的课程序列,可以使你从初学者到合格的数据分析师,数据科学家或数据工程师。
摘自:https://www.aaa-cg.com.cn/data/2617.html
大数据如何使用Python分析微信数据相关推荐
- 大数据Hive集成python分析框架—搜狗实验室(用户查询日志)—电影评分分析
一.Spark 大数据分析框架 1.1 数据结构 1.2 SQL语句简介 二.搜狗实验室(用户查询日志)数据分析 2.1获取数据集并初步分析: 2.2 创建数据库/表--导入数据分析 三.电影评分分析 ...
- LIGO 用 Python 分析引力波数据
LIGO 用 Python 分析引力波数据 美国科学家11日宣布,他们去年9月首次探测到引力波.这一发现印证了物理学大师爱因斯坦100年前的预言.宣布这一发现的,是激光干涉引力波天文台(LIGO)的负 ...
- python sci数据_scanpy学习笔记:用Python分析单细胞数据
Scanpy 是一个基于 Python 分析单细胞数据的软件包,内容包括预处理,可视化,聚类,拟时序分析和差异表达分析等.本文翻译自 scanpy 的官方教程 Preprocessing and cl ...
- 零基础小白如何使用Python分析调查数据
进行调查和民意调查是收集数据和深入了解诸如客户为何离开我们网站等问题的最佳方法之一.还是为什么选民会吸引这位候选人?但是分析调查数据可能是一个真正的挑战! 在本教程中,我们将逐步介绍如何使用Pytho ...
- 如何去使用Python分析股票数据?学到就是赚到
对于炒股的同学来说,必须会看懂数据才能避免入坑.今天小千就来教大家如何去使用Python分析股票数据,学到就是赚到.(小千提醒,股市有风险,请谨慎投资) 这次的美股例子就选择了美国显卡制造商英伟达,其 ...
- Python分析微信群用户信息
Python分析微信群用户信息 1.什么是开源 别人开发出来的东西 贡献出来了 你可以免费使用 但是不能用作商用 所以叫开源 一般都会有一个协议 叫遵守BSD协议 生活中哪些不是开源的 windows ...
- 通过python分析微信好友数据
随着微信的普及,越来越多的人开始使用微信.微信渐渐从一款单纯的社交软件转变成了一个生活方式,人们的日常沟通需要微信,工作交流也需要微信.微信里的每一个好友,都代表着人们在社会里扮演的不同角色.今天这篇 ...
- 用Python分析公开数据选出高送转预期股票
2019独角兽企业重金招聘Python工程师标准>>> 本文授权转载自公众号:挖 地兔(waditu)- Jimmy米哥 上周五,永和智控公布了高送转预案,开盘涨停并直至收盘,打响了 ...
- python分析股票数据 彤_Python数据分析:股票数据
最近股市比较火,我7月初上车了,现在已经下了.中间虽然吃了点肉,但下车的时候都亏进去了,最后连点汤都没喝着. 这篇文章我们就用它python 对股票数据做个简单的分析.数据集是从1999年到2016年 ...
最新文章
- tableau问题汇总
- vue中进度条写法_vue组件实现进度条效果
- 模拟人生4修身拉德兰连衣裙MOD下载
- c++primer 5th习题12.25答案
- sybase游标使用方法
- Red hat linux 下装mysql5问题总结
- DNN(DotNetNuke)注册用户终于突破10万人了,其3.0也终于跳票了...
- Event Handling Guide for iOS——由触摸事件传递想到的
- MySQL Table is marked as crashed and should be repaired
- 感谢这几个公众号,已拿今日头条,蚂蚁金服Offer
- yealink学习笔记20200422UVC协议、usb摄像头抓包
- 用C/C++写一个简易的钢琴小程序
- springboot自定义启动图标
- 测试人的Java之编程那点事
- Linux 用户无法使用 crontab 命令
- cmd/go: “package ... is not in GOROOT“问题解决办法
- 修身养性,为人处事100条
- 【全网最全最细】青龙面板搭配Ninja+依赖+Ninja配置的超细讲解教程!!!
- OS-实现一个RR调度算法
- 【非原创】完全用Linux工作(上)(r4笔记第86天)
热门文章
- 特斯拉首款电动卡车发布;自媒体侵权美团点评被判赔10万;贾跃亭辞任酷派董事长丨价值早报
- 移动CM101s_MV100_EMMC_M8233_强刷后全分区线刷固件包
- (分代)垃圾回收的过程
- 【TensorFlow实战笔记】对于TED(en-zh)数据集进行Seq2Seq模型实战,以及对应的Attention机制(tf保存模型读取模型)
- GAMES101-现代计算机图形学入门-闫令琪——Lecture 05 Rasterization 1 (Triangles)
- React学习笔记_shoping_cart
- 计算今天是今年的第几周
- [论文翻译] Learning Without Forgetting
- Jquery+javaScrpt 130行代码实现打地鼠游戏
- 什么是Gratuitous ARP