前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据分析 | Numpy实战(三) - 分析各类用户占比

数据分析 | Numpy实战(三) - 分析各类用户占比

作者头像
咸鱼学Python
发布2019-10-09 14:44:19
4690
发布2019-10-09 14:44:19
举报
文章被收录于专栏:咸鱼学Python咸鱼学Python

本次复习的知识点如下:

  • numpy的reshape以及shape在实战中的运用
  • matplotlib饼图绘制
分析目标

观察上次的数据,数据中有的数据有会员与非会员两种用户类别。 这次我们主要分析一下两种类别用户在数据中占比。

数据读取与数据清洗

根据流程示意图我们主要遵循下面几个步骤:

图 | 源自网络

在过去两次的文章中已经有关于数据读取和数据分析操作的详细代码讲解,所以不再赘述。

此处代码为:

代码语言:javascript
复制
# 数据读取,数据清洗
def read_clean_data():
    clndata_arr_list = []
    for data_filename in data_filenames:
        file = os.path.join(data_path, data_filename)
        data_arr = np.loadtxt(file, skiprows=1, delimiter=',', dtype=bytes).astype(str)
        cln_arr = np.core.defchararray.replace(data_arr[:, -1], '"', '')
        cln_arr = cln_arr.reshape(-1,1)
        clndata_arr_list.append(cln_arr)
    year_cln_arr = np.concatenate(clndata_arr_list)
    return year_cln_arr

这里需要注意两点:

  • 因为数据较大,我们没有数据文件具体数据量,所以在使用numpy.reshape时我们可以使用numpy.reshape(-1,1)这样numpy可以使用统计后的具体数值替换-1
  • 我们对数据的需求不再是获取时间的平均值,只需获取数据最后一列并使用concatenate方法堆叠到一起以便下一步处理。
数据分析

根据这次的分析目标,我们取出最后一列Member type

在上一步我们已经获取了全部的数值,在本部只需筛选统计出会员与非会员的数值就可以了。

我们可以先看下完成后的这部分代码:

代码语言:javascript
复制
# 数据分析
def mean_data(year_cln_arr):
    member = year_cln_arr[year_cln_arr == 'Member'].shape[0]
    casual = year_cln_arr[year_cln_arr == 'Casual'].shape[0]
    users = [member,casual]
    print(users)
    return users

同样,这里使用numpy.shape获取用户分类的具体数据。

结果展示

生成的饼图:

下面是生成饼图的代码:

代码语言:javascript
复制
# 结果展示
plt.figure()
    plt.pie(users, labels=['Member', 'Casual'], autopct='%.2f%%', shadow=True, explode=(0.05, 0))
    plt.axis('equal')
    plt.tight_layout()
    plt.savefig(os.path.join(output_path, './piechart.png'))
    plt.show()
总结

关于之前文章中numpy的大部分用法在这三篇的实战中都有提及,接下来还剩一篇numpy实战总结全文,之后会进入pandas的复习。

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

本文分享自 咸鱼学Python 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分析目标
  • 数据读取与数据清洗
  • 数据分析
  • 结果展示
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档