数据分析之实例二:物流行业数据分析

import os
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']#设置字体

一.清洗数据

#1.重复值,缺失值,格式调整
data= pd.read_csv('data_wuliu.csv',encoding='utf8')
#加载文件,规定编码格式
data.info()
#通过info()可以看出,包括10列数据,名字,数据量,格式等,可以得出:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1161 entries, 0 to 1160
Data columns (total 10 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   订单号     1159 non-null   object 
 1   订单行     1161 non-null   int64  
 2   销售时间    1161 non-null   object 
 3   交货时间    1161 non-null   object 
 4   货品交货状况  1159 non-null   object 
 5   货品      1161 non-null   object 
 6   货品用户反馈  1161 non-null   object 
 7   销售区域    1161 non-null   object 
 8   数量      1157 non-null   float64
 9   销售金额    1161 non-null   object 
dtypes: float64(1), int64(1), object(8)
memory usage: 90.8+ KB
#1.订单号,货品交货量,数量:存在缺失值,但是缺失量不大,可以删除 
#2.订单行可以无关紧要,直接删除 
#3.销售金额格式不对,(万元,元,逗号问题),数据类型转成float

data.drop_duplicates(keep='first',inplace=True)
#删除重复记录,如果遇到重复,保留第一行,并在原数据上修改
data.dropna(axis=0,how='any',inplace=True)
#删除缺失值(na,删除持有na的整行数据,默认值:axis=0按行删除,how='any‘一行只要有一个’na就可以删除,‘all'则要全部na删除
data.drop(columns=['订单行'],inplace=True,axis=1)
#axis=1按列删除
print(data.info())
#删除订单行(重复运行行会报错,因为第一次已经删除了订单行这一列
data.reset_index(drop=True,inplace=True)
#更新索引(drop=True:把原来的索引index列删除,重置一个index

data.drop_duplicates(keep='first',inplace=True)
#删除重复记录,如果遇到重复,保留第一行,并在原数据上修改

  • 0
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值