![978e944f235ef2e12f660a67fb51b414.png](https://i-blog.csdnimg.cn/blog_migrate/091f52bacb23234210588cc507103686.jpeg)
源代码以及所需资料都在里面的,欢迎交流~
链接:https://pan.baidu.com/s/175edfNAUGcJ7lBrAMt6QAg
提取码:ya51
#加载数据需要使用到的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#加载数据,加载之前用文本编辑器看下数据的格式,首行是什么,分隔符是什么等
data = pd.read_csv(r'D:竺明网络学习资料数据分析学习课件5-python0831-0903pandas+numpy实战order_info_2016.csv',index_col='id')
data.head()
![ca8cab4a9f9dee81c7451a5eb122b289.png](https://i-blog.csdnimg.cn/blog_migrate/60abc1961c22a59b1baa15617910c2fe.jpeg)
#加载好数据之后,第一部先分别使用describe和info方法看下数据的大概分布
data.describe()
![2d0569d3050b9e302e557f0763225313.png](https://i-blog.csdnimg.cn/blog_migrate/427e3493800ac1bd7f4451b53bac5115.jpeg)
data.info()
![8e6b6b3a4e40d231d08be3062af4193e.png](https://i-blog.csdnimg.cn/blog_migrate/f7edcfb02d0d1bf965c707fc8d30dd8a.jpeg)
#首先要做一个数据的清洗
#order_id
#因为是订单id所以不可能会有一样的订单号
#先看下order_id有没有重复值
#注意:当我们对一列取size属性的时候,返回的是行数,如果对于dataframe使用size,返回的是行乘以列的结果,也就是总的元素数
data.orderId.unique().size
#对比上面我们不难看出原本数量是104557现在是104530,说明有重复
#但是目前先不处理重复列,最后再处理,因为其他的列可能会影响到删除哪条重复的济记录
#所以先处理其他的列
data.head()
![7d38051b22cb07dced7c5284a170f7b6.png](https://i-blog.csdnimg.cn/blog_migrate/eb9369a8d9921ad41246bc3f114544a0.jpeg)
#userId
#userId我们只要从上面的describe和info看下值在不在正常范围就可以了
#对于用户订单数据,一个用户有可能有多个订单,重复值是合理的
data.userId.unique().size
#有重复且合理
![7fb4ad08325781da5ab9b514a49e1bc1.png](https://i-blog.csdnimg.cn/blog_migrate/2f5cf577d1e77c65dc563779a6e05033.png)
#productId
# productId最小值为0,这本身就有问题,我们可以先看下0有多少
data.productId[(data.productId == 0)].size
#共有177条记录,数量不多,可能是因为商品的上架下架引起的,处理完其他值的时候我们把这些删掉
#上述小结:遇到异常值先不要着急处理先查看完全部之后有了大局观后在做判断
![641faa49bfc8a0b6c41a3dd31ba77ddf.png](https://i-blog.csdnimg.cn/blog_migrate/540ab3e43105fce6e074d77df35dd70e.png)