Python实战基础之Pandas统计某个数据列的空值个数
一、实战场景
实战场景:Pandas 如何统计某个数据列的空值个数
二、主要知识点
- 文件读写
- 基础语法
- Pandas
- numpy
三、菜鸟实战
马上安排!
1、创建 python 文件
""" 对如下DF,设置两个单元格的值 ·使用iloc 设置(3,B)的值是nan ·使用loc设置(8,D)的值是nan """ import numpy as np import pandas as pd np.random.seed(66) df = pd.DataFrame(np.random.rand(10, 4), columns=list('ABCD')) df.iloc[3, 1] = np.nan df.loc[8, 'D'] = np.nan print(df) print(df.isnull().sum())
2、运行结果
A B C D
0 0.154288 0.133700 0.362685 0.679109
1 0.194450 0.251210 0.758416 0.557619
2 0.514803 0.467800 0.087176 0.829095
3 0.298641 NaN 0.678006 0.903489
4 0.514451 0.539105 0.664328 0.634057
5 0.353419 0.026643 0.165290 0.879319
6 0.067820 0.369086 0.115501 0.096294
7 0.083770 0.086927 0.022256 0.771043
8 0.049213 0.465223 0.941233 NaN
9 0.361318 0.031319 0.304045 0.188268
A 0
B 1
C 0
D 1
dtype: int64
补充:Pandas检查是否有空值、处理空值
1.创建有空值的DataFrame
import numpy as np import pandas as pd dates = pd.date_range("20200307", periods=4) df1 = pd.DataFrame(np.arange(12).reshape(4, 3), index=dates, columns=["A", "B", "C"]) df2 = pd.DataFrame(df1, index=dates, columns=["A", "B", "C", "D"]) # 新增D列,却不赋值,NaN表示空值 print(df2) # 打印输出: # A B C D # 2020-03-07 0 1 2 NaN # 2020-03-08 3 4 5 NaN # 2020-03-09 6 7 8 NaN # 2020-03-10 9 10 11 NaN
2.检查是否有空值
print(df2.isnull()) # 是空值返回True,否则返回False print(np.any(df2.isnull())) # 只要有一个空值便会返回True,否则返回False print(np.all(df2.isnull())) # 全部值都是空值便会返回True,否则返回False # 输出结果: # A B C D # 2020-03-07 False False False True # 2020-03-08 False False False True # 2020-03-09 False False False True # 2020-03-10 False False False True # True # False
3.给NaN赋值
df2.iloc[0, 3] = 10 # 直接给某个位置赋值 print(df2) # 打印输出: # A B C D # 2020-03-07 0 1 2 10.0 # 2020-03-08 3 4 5 NaN # 2020-03-09 6 7 8 NaN # 2020-03-10 9 10 11 NaN series = pd.Series([11, 12, 13], index=dates[1:4]) df2["D"] = series # 同时给D列赋多个值 print(df2) # 打印输出: # A B C D # 2020-03-07 0 1 2 NaN # 2020-03-08 3 4 5 11.0 # 2020-03-09 6 7 8 12.0 # 2020-03-10 9 10 11 13.0
4.去除有空值的行或列
df2.loc["2020-03-10", ["A", "B", "C"]] = [11, 12, 15] df2.fillna("null") # 把空值填充成null # dropna(axis,how,subset)方法会删除有空值的行或列, # axis为0是行,axis为1是列, # how为any时该行或列只要有一个空值就会删除,all是全都是空值才删除 # subset是一个列表,指定某些列 df2.dropna(axis=0, how="any", subset=["A", "D"])
总结
到此这篇关于Python实战基础之Pandas统计某个数据列空值个数的文章就介绍到这了,更多相关Pandas统计数据列空值个数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python+appium框架原生代码实现App自动化测试详解
这篇文章主要介绍了Python+appium框架原生代码实现App自动化测试详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-03-03python cx_Oracle的基础使用方法(连接和增删改查)
这篇文章主要给大家介绍了关于python cx_Oracle的基础使用方法,其中包括连接、增删改查等基本操作,并给大家分享了python 连接Oracle 乱码问题的解决方法,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。2017-11-11
最新评论