numpy genfromtxt 读取字符_Numpy和Pandas常用数据处理方法

fae0e7f87c0ea3453a9eae3d5de88dff.png

数据分析最常用到的三个包分别是:numpy、pandas和matplotlib,其中numpy用于数学计算,如线性代数中的矩阵计算,pandas是基于numpy的数据分析工具,能更方便的操作大型数据集,pandas中的DataFrame(数据框)方便对于数据表结构中的数据进行分析,matplotlib是专用于数据分析可视化的包。本章主要学习numpy和pandas的基础内容。

本章知识点汇总如下:

3a9039e871ade3ee4d7e5cc908f5d8b0.png

【一维数据】

一、Numpy(array)

1.1、数据包的导入及重命名

0371364c45170c0457c6a7bfb9ff83d2.png

1.2、定义一维数组

3bfb7d9da0f126e7809e81be0ed95387.png

1.3、如何查询数组中的元素

访问数组中的元素时,采用方括号"[]"加想要获取元素所在的位置来获取,且第一个元素是从0开始,a[0]表示第1个元素,以此类推。

2ccba851bb89fab90f1d0165b5f75ea9.png

1.4、切片访问

当想要获取数组中某几个元素时,采用的冒号间隔的方式,且获取的元素时默认为前闭后开的方式,即a[1:3]表示获取数组中a[1]和a[2](第2和第3个元素),并不包含a[3](第4个)元素。

21a0279a06d44384dfff25fdf6c2b0aa.png

1.5、循环访问

循环访问数组中的每一个元素时采用for i in a 的方式

a6963198cc592a3fdca1f2288616f9e3.png

1.6、查看数据类型

6a73e8cb8b4db8b2298baef12118a145.png

二、Pandas(Series)

2.1、pandas定义一维数据

e0d940f0f3be1d1c0644fb41863e345e.png

2.2、获取描述性统计信息(describe)

e22e6070c90d9804cbd51c2413ca0db4.png

2.3、切片访问(iloc和loc)

iloc通过索引(位置)来获取值,loc通过名称来获取值。

0ddaf13e588d5be7f2f7b72c57c9f9d6.png

2.4、向量化运算:向量相加

02adbac8b200d24e7115f64c29fb07ff.png

0b1ff393898950a3ae2b112f43f08d7c.png

2.5、删除缺失值(dropna)

s3中的元素如下:

9751952b65e883df7dd8e73daaf34cae.png

s3中存在缺失值,删除s3中的缺失值的方法:

51a54c09a0948204dbe9dce30886af7c.png

2.6、填充缺失值

dc69e83e4cca00369444f0b13e8a19c6.png

【二维数据】

三、Numpy(array)

3.1、Numpy定义二维数组

66f491bdd5f75059f3c00364d57e7164.png

3.2、查询元素

f6441eefcc67159389a8bc6495e1b337.png

3.3、查询某一行或某一列所有元素

5cae2551e524e44026e00a4beb272e6b.png

3.4、求平均值

axis=1按行计算每一行元素的均值,axis=0按列计算每一列元素的均值。

cb6b239e8e7ca269cadbf3a8e2d5e0a0.png

四、Pandas(DataFrame)

4.1、定义一个字典salesDict,将字典传入数据框salesDf

6afb84f6746442687872f9ad1a2169e8.png

4.2、有序数据框

2a6354578a9fc7a7cec476a1f0b5890c.png

4.3、平均值

962b2ead109cf4649bd3244d20d2b2be.png

4.4、查询——iloc和loc

iloc查询代码:

c49a5dbbeb22c83cf957d2dc33952acf.png

loc查询代码:

7499485ef8ad87b16bc3330fef48672c.png

4.5、查询某几列

1c3378a86d94182344abc643c764a5f9.png

4.6、通过条件判断筛选

37df7f293da4aecc7ba73016f9b86455.png

五、数据分析实践案例

数据分析基本过程:①提出问题,②理解数据需求 ,③数据清洗, ④构建模型 。⑤数据可视化;

数据清洗的基本过程:①选择子集,②列名重命名,③缺失数据处理,④数据类型转换,⑤数据排序,⑥异常值处理。

5.1、读取excel中的数据

fcb4886599709e1bf7ced942ac903562.png

5.2、查看数据大小(shape)

645dfaf5969b7a570017f9ec4188341f.png

5.3、查看列的数据类型(dtypes)

b10892437635c47ebb238a0fa8e59bab.png

5.4、描述性统计

aba3ee129544f647cb692553d8abfd8d.png

5.5、查看某几列内容

b37a116502a8db91b0d20669a7f4aa3a.png

5.6、重命名(rename)

2e2463fe6d7b7e99cbae873f03114606.png

5.7、缺失值处理

1a68b7cd75512c827ba0aa4b9d08150b.png

5.8、数据类型转换(astype)

41e02ba213af122a898dcf45b735ea5f.png

5.9、字符串分割(split)

4ef7952dc0b747d2f13773ffac38e8cb.png

对数据集中的购药时间(2018-01-01 星期五)以空格进行分列得到只有日期的结果:

定义分割函数splitSalestime,对购药时间进行分列:

a48272b97f8db30ece30e4621b62e6c8.png

5.9.1、将分割后的销售日期重新赋值给新的列名销售日期5.9.2

2e72070a45d31871bd1aa6b33ff60c9c.png

5.10、将字符串类型转换为日期格式(to_datetime)

5808cebc9f10664b1691040e57cc308f.png

5.11、排序(sort_values,ascending=True表示升序,ascending=False表示降序)

962abab3ac07a565d6d5d2f06e051e40.png

但是排序后的行号依然是之前的索引值,重新修改行名(index)

bd45b214933a4aa8dba667731454a6d6.png

5.12、删除异常值

对df做描述性统计发现销售数量出现负值(异常),对异常值进行删除处理如下:

672e70c49b1ad33c127fb373956f65e9.png

第二步:构建模型(理解业务指标的含义,并清楚数据计算统计口径)

指标1:月均消费次数=总消费次数/月份数,其中总消费次数计算时,同一天内,同一个人发生的所有消费算作一次消费

总消费次数:

83741229fa0101e273417d3af8b72133.png

月份数:

b8b194aadbb16cf77eed61920b633896.png

月均消费次数:

1db0b929c58126788084149fad297a8d.png

指标2:月均消费金额=总消费金额/月份数

8114f0a926f182beb508ee42a59fbb31.png

指标3:客单价=总消费金额/总消费次数

cd3477866e6f6e07491ed8a7393f4ac8.png
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值