查看原文
其他

我扒了 6730 个微信用户数据,得出了这些结论......

XksA CSDN 2018-12-17

作者 | NFii

责编 | 郭芮

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


技术分析


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')

6、数据再清理可视化代码:

普通柱状图:

#普通的一张搞定的柱图
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=[4075],
        label_text_color=None,
        legend_orient="vertical",
        legend_pos="left",
    )
    pie.render()


数据分析


1、网络使用情况

网络使用情况

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

2、用户终端品牌偏好

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

从上图可以看出,使用人数较靠前的型号基本上均属于苹果手机系列,虽然苹果手机系列更新换代的速度较快,但使用人数最多的却是苹果公司于15年推出的iPone6s机型。此外,国产品牌中,小米出品的红米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的,莫不是视力不好?注意眼睛,适当远离手机!!!

作者:NFii,积极且颓废,一直在路上。本文首发于公众号简说Python。

声明:本文为作者投稿,版权归其个人所有。

对于想系统学习人工智能的朋友,我们为大家准备了一个干货资源包,包含多家一线公司技术大咖30+精选讲义。跟对方向,可以让你的学习事半功倍,欢迎扫码领取!

微信改版了,

想快速看到CSDN的热乎文章,

赶快把CSDN公众号设为星标吧,

打开公众号,点击“设为星标”就可以啦!

征稿啦

CSDN 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。

如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱(guorui@csdn.net)。


推荐阅读:

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存