通常而言,一个国家的领导人,什么时间睡觉什么时候工作,除了零星的新闻报道,外界无从知道。但是对于美国总统特朗普,想要知道这个秘密就不是那么难了。当然你得会点数据挖掘的方法。(幸运的是,关注我可以帮到你一点点)
至关重要的法宝就是分析特朗普发推文的时间。我们都知道两件事:
第一,特朗普自己的手机自己做主,自己的推文自己发。
第二,特朗普花大量的时间发送推文,在社交媒体上与人民对话。因此发推文等于是特朗普的工作。那么不发推文的时候,估计是在睡觉。
这个习惯其实和我们平常人是一样的,边工作边看朋友圈,你用手机的时间基本上可以看出你的作息状态。基于上面两点,我们可以保证说,分析特朗普的推文发送时间就知道特朗普的生活起居状态。
废话不多说,我们看看特朗普自从当上美国总统后的作息时间,如下图:
上面的数据是基于特朗普,自2017年1月1日以来1万7千多条推文分析得出的统计可视化图。
上面的图中,纵坐标代表24小时,0就是0点,23就是晚上11点钟。我们统计的时间间隔为每一个小时。所以上图张的每一个格子代表了在每个周天的每个小时内,特朗普发送推文的频率。频率越高,颜色越深。
这样就很明显了,可以看出,特朗普从来不发推文的时间大概是凌晨5点到早上10点的5个小时。这段时间,特朗普应该在休息,或者早起的一些重要办公时间。另一方面,凌晨2点到凌晨5点,特朗普也经常发推文,说明特朗普睡觉时间一般都是在零点以后。稍微兴奋点,就会拖到凌晨4,5点。当然也有可能是凌晨突然醒了以后,玩玩手机,顺便发发推文。
上面颜色最深的地方在中午12点到2点这个时间段,这个时间估计是特朗普总统工作最轻松的时段,除了吃饭就是发推文。很多重要信息都是这个时间段发出去的。
如果比较每个周天的话,周六周日发推比较少,并且周日最少。
怎么样,看到这个结果,大家感受到了美国总统的繁忙了吗?
下面介绍一下利用phython画图的方法。数据处理总的说来比较直接,就是数每个周天和每个时段有多少条推文。但是我们这里有两个特别的处理:
1)某些时间段,总统会连发很多条推文。这种情况,每天的每一个时间段,无论发多少条推文,我都把他算作1条,从而尽量均匀的考虑每天的情况。
2)如果汇总起来的每个周天每个时间段的推文条数小于10条,我们把它清零,从而意味着我们只关注常见的趋势。
如果你有准备好的数据,python里面,可用pandas得到dataframe, 比如下面格式:
接着用dataframe的pivot 方法,
xdf=df.pivot("hour","weekday", "count")
得到新的dataframe 如图:
新的dataframe xdf 用下面的代码,即可得到热力图:需引进 seaborn as sns
 (jupyter notebook 环境)
%matplotlib inline
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.figure(figsize = (16,8))
hm=sns.heatmap(xdf, annot=False)
hm.set_xlabel("周天",fontsize=30)
hm.set_ylabel("小时",fontsize=20)
hm.tick_params(labelsize=15)
weekdays = ["周一","周二","周三","周四","周五","周六","周日"]
xlabels = [weekdays[int(i)] for i inhm.get_xticks()]
hm.set_xticklabels(xlabels)
plt.show()
往期文章推荐:
你我未来更精彩,请点击识别二维码关注:
继续阅读
阅读原文