对于pandas中describe方法处理数据时候需要注意数据类型问题与统计结果显示不全问题

对于pandas中describe方法处理数据时候需要注意数据类型问题与统计结果显示不全问题

问题原因

对DataFrame数据进行describe前需要注意,如果非category类,则describe只针对传统数值型数据筛选后进行描述统计分析

书本代码

在这里插入图片描述
书中代码的思路是通过统计count数=0,如果为真,则进行删除改列
判断的前提是,每个列都需要被统计到count的值,但我通过实验发现并不是每一个列都会在describe后返回的数据中被统计到

测试代码

在这里插入图片描述

Detail1变量:
在这里插入图片描述

colisNull1变量:

在这里插入图片描述
Col变量:
在这里插入图片描述

colisNull2变量:
在这里插入图片描述
colisNull3变量:
在这里插入图片描述
colisNull33变量:
在这里插入图片描述

coltype变量:
在这里插入图片描述

实验分析

通过观察colisNull1变量我们可以发现
Describe方法只统计分析了两列的数据,也就是说在detail1这么多列中只有2列能被统计到,如果除了这两列出现了整列为空或者整列相同,则会出现忽略处理的情况。
我们再次独立统计两列,一个未被统计到的列“order_id”和被统的列“amounts”观察变量colisNull2可以发现,还是只有amounts列被统计
我们独立统计列order_id和detial_id,观察colisNull3和colisNull33,可以发现强制统计非传统数值类型的列可以被统计到,前提是这些列中不能有传统数值的列,否则会进行筛选统计
我们观察coltype可以看到detail1的DataFrame的各个列的数据类型
只有最初默认被统计的两列是float64的类型,属于传统数值型,所以会被自动统计。
这里有两种方法进行代码补充
第一种:
在统计非空时使用DataFrame_type.count()方法
在统计相同时,取所有列的值,是否等于第一个值,在进行False的in判断,如果其中存在Flase,则列值不全相同
第二种:在操作开始前,对DataFrame数据类型进行全转换,全部转换为category
DataFrame_type.astype(‘category’)

测试修改结果方法二

在这里插入图片描述

在这里插入图片描述
可以发现统计的数据为全部列

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值