前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬了6730个微信用户数据,我们发现了这些秘密……

爬了6730个微信用户数据,我们发现了这些秘密……

作者头像
IT阅读排行榜
发布2018-12-25 11:00:10
6630
发布2018-12-25 11:00:10
举报
文章被收录于专栏:华章科技华章科技

导读:本文给大家分享一篇从小程序用户使用网络、微信版本、手机型号、屏幕样式、微信字体大小等方面来分析大家的手机使用习惯。

作者:NFii、老表

来源:简说Python(ID:xksnh888)

01 技术分析

1. 数据来源:微信小程序(英文取名)

2. 总数据量:6730

3. 分析工具:Pycharm python

4. 运行环境:Python 3.6,Windows 10

5. 模块导入

代码语言:javascript
复制
import requests
import pandas as pd
from pyecharts import Pie
from pyecharts import Bar

6. 数据获取代码

获取所有数据:

代码语言:javascript
复制
url='英文取名小程序后台数据接口(暂时不对外开放)'
#发送请求,获取请求页面,同时将页面转换为json格式
json_source = requests.post(url).json()
# 以字典方式解析json数据
data = json_source['ResponseData']

单独整理提取数据:

代码语言:javascript
复制
def get_need(thing):
    things = {}
    name = []
    num = []
    for item in data:
        body = eval(item['SystemInfo'])
        if thing in body.keys():
            need = body[thing].lower()
        else:
            continue
        if need in things.keys():
            things[need] = things[need] + 1
        else:
            things[need] = 1
    for k, v in things.items():
        if(k == '' or k=='none'): continue
        else:
            name.append(k)
            num.append(v)
    dataframe = pd.DataFrame({thing:name, '数量':num})
    dataframe.to_csv(thing+'.csv', index=False, encoding='gb2312')

7. 数据再清理可视化代码

普通柱状图:

代码语言:javascript
复制
#普通的一张搞定的柱图
def drawzhuzi(thing):
    data = pd.read_csv(thing+'.csv',encoding='gb2312')
    #从csv文件中获取数据
    name = list(data[thing])
    num = list(data['数量'])
    bar = Bar()
    bar.width = 2000
    bar.add(
        thing,
        name,
        num,
        xaxis_rotate=35,
        xaxis_interval=0,
        #label_color = "gray"柱子的颜色
        is_random=True
    )
    bar.render()

比较少数据的柱图:

代码语言:javascript
复制
#比较少数据的柱图
def smallzhuzi(thing):
    data = pd.read_csv(thing+'.csv',encoding='gb2312')
    #从csv文件中获取数据
    name = list(data[thing])
    num = list(data['数量']).sort()
    print(num)
    bar = Bar()
    bar.use_theme('westeros')
    bar.width=1000
    bar.add(
        thing,
        name,
        num,
        xaxis_interval=0,
        xaxis_rotate=35
    )
    bar.render()
smallzhuzi("fontSizeSetting")

数据量比较多的柱状图:

代码语言:javascript
复制
#数据量较多的使用的柱图
def draw(thing):
    data = pd.read_csv(thing+'.csv',encoding='gb2312')
    #从csv文件中获取数据
    name = list(data[thing])
    num = list(data['数量'])
    bar = Bar()
    bar.width=1000
    bar.height=340
    bar.use_theme('roma')
    bar.add(
        thing,
        name,
        num,
        xaxis_interval=0,
        xaxis_rotate=45,
    is_datazoom_show = True,
    )
    bar.render()

数据量贼多的柱状图:

代码语言:javascript
复制
#数据量贼多的柱状图
def slidezhuzi(thing):
    data = pd.read_csv(thing + '.csv', encoding='gb2312')
    # 从csv文件中获取数据
    name = list(data[thing])
    num = list(data['数量'])
    newnum = []
    newbrand = []
    for i in range(len(num)):
        if num[i] > 5:
            number01 = str(name[i]).find('(')
            number02 = str(name[i]).find('<')
            if number01 != -1 and number02 != -1:
                number = number01 if number01 < number02 else number02
            elif number01 == -1:
                number = number02
            else:
                number = number01
            if number != -1:
                newbrand.append((name[i][:number]).strip())
            else:
                newbrand.append(name[i].strip())
            newnum.append(num[i])
    bar = Bar()
    bar.width = 6000
    bar.use_theme('roma')
    bar.add(
        thing,
        newbrand,
        newnum,
        xaxis_rotate=30,
        xaxis_interval=0,
        is_datazoom_show=True,
    )
    bar.render()

一般饼图:

代码语言:javascript
复制
#饼图
def drawpie(thing):
    data = pd.read_csv(thing+'.csv',encoding='gb2312')
    #从csv文件中获取数据
    name = list(data[thing])
    num = list(data['数量'])
    pie = Pie()
    pie.add("", name, num)
    pie.render()

饼中饼图:

代码语言:javascript
复制
#饼中饼
def pieandpie(thing):
    data = pd.read_csv(thing+'.csv',encoding='gb2312')
    #从csv文件中获取数据
    name = list(data[thing])
    num = list(data['数量'])
    pie = Pie()
    pie.add(
        "",
        name,
        num,
        radius=[40, 75],
        label_text_color=None,
        legend_orient="vertical",
        legend_pos="left",
    )
    pie.render()

02 数据分析

1. 网络使用情况

▲网络使用情况

从图中很容易看出,红色代表使用Wifi用户占的比例,深色表示使用4G网络的用户比例,其他的2G、3G几乎可以忽略。

2. 用户终端品牌偏好

就品牌偏好而言,小程序用户主要偏好于苹果、小米、华为这三大手机品牌,同时国产品牌vivo与OPPO的用户使用数量也紧追其后——曾经的步步高,现在的蓝绿厂,和笔者一样用魅族的一定要举个手。

从上图可以看出,使用人数较靠前的型号基本上均属于苹果手机系列,虽然苹果手机系列更新换代的速度较快,但使用人数最多的却是苹果公司于15年推出的iPhone6s机型。此外,国产品牌中,小米出品的红米4a和360N6 Pro机型也广受用户青睐。

总的来看,从用户的品牌机型可以发现,苹果、小米等高端系列终端广受用户偏爱,国产手机品牌推出平价机型也是用户选择的主流。

3. 操作系统:iOS VS Android

▲iOS vs Android

图中的结果也算是在意料之中。有近45%的土豪用的iOS机,不可否认还是有很多人选择实惠的Android机。不过目前的Android机也走低价路线了,最初以价格为战略的小米,也接连出了几款2k+机,不过这也和配置有关。

但在笔者看来,一个苹果,终究抵不过数十个安卓。

再来细看一下大家使用iOS系统和安卓系统的版本号:

▲iOS系统版本号

从图中可以看出苹果手机基本上都将系统更新到了较新的版本,其中iOS11.4.1的使用数量最多。

▲Android系统版本号

对于Android系统的用户,虽然现在已经推出了Android8.0的一系列最新版本,但是用户使用最多的却还是之前推出的Android7.1.1,同时还有一定数量的用户使用Android6.0及以下版本。

这个结果可能和手机配置/生产日期有关,另外Android机系统自动更新比较“鸡肋”,去刷机升级系统又太麻烦可能也是一个很大的原因。

4. 用户主屏分辨率

▲主屏分辨率

由主屏分辨率分析可以得出,360x640使用人数最多,其次是屏幕长宽比为 375x667。来说说360x640和375x667:

  • 大部分PM、UI使用的是iPhone,所以更愿意以iPhone的逻辑分辨率来设计。
  • 包括Adobe的原型设计工具Experience Design CC也是推荐以375×667来设计,次选320×640。
  • 如果使用Axure设计原型,建议375×667-20,这样方便在手机上直接查看原型,减去状态栏20px是因为Axure导出的原型在iOS上无法隐藏。
  • 手机屏幕和像素是没有必然联系的,不能通过像素判断屏幕大小。屏幕大小一般以英寸为单位。
  • 一般来说仅仅诺基亚五版是360x640分辨率,别的机型我没遇见过 。

5. 用户使用微信版本号

▲微信版本号

几乎都是6.6.0以上的版本,多数用户都更新到了最新的微信版本(6.7.3),小部分也是较新的版本系统,只有很小一部分仍在使用过去的微信版本。不知是有情怀不想更新,还是懒,或者弃用了?你的微信更新了吗?

6. 用户使用语言与字号

▲语言

▲字体大小

在语言选择上,毋庸置疑中文占据首位。

在字体上,几乎100%的用户使用的是16px,可能是系统默认字体大小,就像我编辑微信推文一样,每次新建“蔬菜”字体都是默认16px,感觉是不大不小,看着刚好,那些使用20,还有32px的,莫不是视力不好?注意眼睛,适当远离手机!!!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据DT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档