Pandas的基础应用

Pandas可以说是Python在数据分析应用最广最基础也是最重要的一个包,复盘一下日常比较常用的pandas用法。

数据导入

import pandas as pd
import numpy as np
df=pd.read_csv(invest_sample.csv)

类似的导入还有 pd.read_table 和 pd.read_txt 等,但是,pd.read_csv 最为常用。因为csv格式的文件比较干净,一般都是用转好格式的csv文件来处理数据。

数据观察

df.head()
WX20180203-224250@2x.png

默认是查看前5行,括号中也可以输入想要查看的行数。如df.head(10)代表查看前10行。
这个时候一般检查是否有显示乱码和查看表头字段。
还有个df.tail(),可以查看数据的后5行。

df.info()
WX20180203-224306@2x.png

主要查看每个字段的行数与字段类型,是否有缺失值,
可以打印出数据框的大小,代表11757行,7列。

df.shape
WX20180203-224321@2x.png
df.describe()
WX20180203-224331@2x.png

主要查看的每个字段(数值类型的字段)的描述统计,包括记数,平均值,方差,最小值,最大值和百分位数。
使用以上的pandas用法基本对要分析的数据有了一个大概了解。

数据认知

数据源是一份脱敏过的数据,字段包含 用户id,购买日期,购买金额,购买人用户属性等,是一份典型的电商购买数据。继续使用pandas包来进行更深入的认知和分析。

购买次数与金额最多的商品的,商品标记是2和3的次数和金额都是最多的。

df.groupby('expect').count()['amount']
WX20180203-224403@2x.png
df.groupby('expect').sum()['amount']
WX20180203-224352@2x.png

数据集范围内的金额

df.sum()['amount']
WX20180203-224419@2x.png

客单价即单笔订单的金额大小,可以反映用户的消费能力。
整体的客单价

df.mean()['amount']
WX20180203-224429@2x.png

不同省份的客单价,不同省份的的客单价相差比较大了。
这时候首先要确认的是 这种误差是不是由于部分省份购买人数的过少造成的波动(人数过少,个别大客户会大幅影响平均水平,使算数平均值这个指标衡量失真)
剔除异常情况后,客单价较高且人数较多的地区需要继续保持,客单价较高大是人数较少的地区需要拉进新用户,用户人数很多但是客单价不高的地区需要激励用户购买潜力。

df.groupby('province').mean()['amount']
WX20180203-224443@2x.png

不同产品的客单价,用户对不同产品的偏好程度

df.groupby('expect').mean()['amount']
WX20180203-224453@2x.png

不同性别的客单价,不同性别用户的单次消费能力,女性用户略高与男性用户。

df.groupby('gender').mean()['amount']
WX20180203-224503@2x.png

发现了不同性别客单价的差异,继续看下不同性别对平台的贡献能力。
金额贡献女性是男性的两倍。。。(跪了),人数勉强是两倍。

df.groupby('gender').sum()['amount']
WX20180203-224521@2x.png
df.groupby('gender').count()['amount']
WX20180203-224529@2x.png

为什么用pandas

以上用pandas进行了基本的数据观察和分析,由于数据取的比较规范,基本没有脏数,省了清洗这一步。
很多人觉得python也没比excel好到哪里去啊,以上实现的用excel也可以实现,操作也更加友好。
其实,不然。
以上只是 python在数据分析领域的小小冰山一角,python对数据的处理是异常灵活的。
只说一点,数据量十万量级的时候(日常的数据接触也是万级别起了),excel处理起来就比较费事了,稍微操作一下会卡半天。
后续的画图/灵活性处理/建模,才是python的拿手好戏。


我的tableau public:yangliang的tableau public主页

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Python 和 Pandas 数据分析教程 原文:Data Analysis with Python and P...
    布客飞龙阅读 83,238评论 9 225
  • 本文来自于 猴子数据分析社群的通关作业,因为课程是用 R 语言教的,我是用 Python 实现了一遍,所以参考的文...
    禹洋阅读 10,350评论 1 62
  • 看过一个段子说 男生不愿意看女友爱看的韩剧 女友不爱陪男友打游戏 说这不是爱 大家觉得矫情 可我觉得 这就是不爱 ...
    九月的草莓酱阅读 1,652评论 2 1
  • 想给你写封信 信中都是我的热情 尽管纸短情长 那翩飞的字眼 是我温柔的问候 哪怕只是问候 此时 也多了一丝幸福 少...
    念在天涯阅读 1,522评论 7 10
  • 类 定义一个类使用class关键字 构造函数定义的类有一个默认的构造函数,可以在类名后面的大括号中传入参数构造函数...
    HolenZhou阅读 3,401评论 0 0

友情链接更多精彩内容