Pandas数据分析学习打卡(一):Nullable缺失数据

Pandas数据分析学习打卡(一):Nullable缺失数据

Pandas第一天的学习内容是关于缺失数据,下面是一些个人认为比较重要的内容:
1.首先就是判定是否为缺失类型的isna()和notna()方法,返回的是布尔类型,可以直接对DataFrame对象使用。可以通过这个方法直接查看df中有缺失值的行:

df[df['需要查看的列'].isna()]

2.三种缺失符号代表缺失值,分别是numpy.nan(不等于任何值,甚至不等于自己)、None(可以等于自身)、NaT(可以看作针对时间序列的numpy.nan)

3.关于Nullable的运算,可以分成逻辑运算和算术运算。逻辑运算里有个原则是不依赖Nullable数据的话就可以得到结果,我的理解是把Nullable数据换成其它任意正常值仍然可以得到一样的结果,那就是不依赖,不知道对不对哈。算术运算的话,除了pd.NA ** 0和1 ** pd.NA的结果是1,其它的都是NA。在乘法运算中,NA为1;加法里NA被当做0;使用累计函数和groupby方法时,缺失值自动略过。还有个convert_dtypes方法,可以在读取数据的把数据转换成Nullable数据类型,方便统一处理。

4.对NA的处理,资料里讲到了fillna()填充、dropna()剔除和interpolate()插值,有一些细节,这里不展开了。

接下来是问题和练习题:
【问题一】如何删除缺失值占比超过25%的列?
思路:用isna和notna方法统计出各列的缺失值占比,取出index,在用drop函数删除,代码如下:

import pandas as pd
import numpy as np
df = pd.DataFrame({
   'col1': ['a', 'b', np.nan, np.nan, 'e']\
, 'col2': range(5, 10), 'col3
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值