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

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

作者:NFii、老表

来源:简说Python(ID:xksnh888)

01 技术分析

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

2. 总数据量:6730

3. 分析工具:Pycharm python

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

5. 模块导入

import requests
import pandas as pd
from pyecharts import Pie
from pyecharts import Bar

6. 数据获取代码

获取所有数据:

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

单独整理提取数据:

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. 数据再清理可视化代码

普通柱状图:

#普通的一张搞定的柱图
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()

比较少数据的柱图:

#比较少数据的柱图
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")

数据量比较多的柱状图:

#数据量较多的使用的柱图
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()

数据量贼多的柱状图:

#数据量贼多的柱状图
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()

一般饼图:

#饼图
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()

饼中饼图:

#饼中饼
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的,莫不是视力不好?注意眼睛,适当远离手机!!!

原文发布于微信公众号 - 大数据(hzdashuju)

原文发表时间:2018-12-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券