Pandas系列目录如下:
Pandas数据分析①——数据读取(CSV/TXT/JSON)
Pandas数据分析②——数据清洗(重复值/缺失值/异常值)
Pandas数据分析③——数据规整1(索引和列名调整/数据内容调整/排序)
Pandas数据分析④——数据规整2(数据拼接/透视)
Pandas数据分析⑤——数据分组与函数使用(Groupby/Agg/Apply/mean/sum/count)
Pandas数据分析⑦——数据分析实例2(泰坦尼克号生存率分析)
本文通过一个实际案例,来看下Pandas进行数据分析的具体步骤
数据来源:
某企业销售的6种商品的送货及用户反馈数据
解决问题:
1、配送服务是否存在问题
2、是否存在尚有潜力的销售区域
3、商品是否存在质量问题
先放结论:
1、货品4→西北,货品2→马来西亚两条线路存在较大问题,急需提升时效
2、货品2在华东地区还有较大市场空间,适合加大投入,同时货品2在西北配送时效长,用户拒收率高,从成本角度考虑,应该减少投入
3、货品1、2、4质量存在问题,建议扩大抽检范围,增大质检力度
分析过程如下(文末有数据源获取方式
)
一、数据清洗
① 重复值、缺失值、格式调整
data = pd.read_csv('data.csv',encoding='gbk',header=0)
print(data.info())
通过info()可以查看数据的轮廓,包括有10列,每1列的名字,数据量,格式等,从中可以明显看出:
① 订单号,货品交货情况,数量这3列是有缺失值,但最多缺失4行,数据量较小,直接删除不会影响整体分析
② 订单行这1列对分析无关紧要,可以删除
③ 销售金额格式不对,要改成float
# 删除重复值,这个虽然没有看出来,但是必须要在其它处理前处理掉
print(data.duplicated().value_counts())
data.drop_duplicates(keep='first',inplace=True)
# 删除缺失值
data.dropna(how='any',inplace=True)
# 去掉“订单行”列
data.drop(columns=['订单行'],inplace=True,axis=1)
data = data.reset_index(drop=True)
print(data.head())
# 修改销售金额格式
print(data.销售金额.head()) # 数据单位不一致,且数据中有逗号隔开,不适合分析
def data_deal(number):
if number.find('万元')!=-1: