Python pandas.DataFrame 找出有空值的行

yipeiwu_com6年前Python基础

0.摘要

pandas中DataFrame类型中,找出所有有空值的行,可以使用.isnull()方法和.any()方法。

1.找出含有空值的行

方法:DataFrame[DataFrame.isnull().T.any()]

其中,isnull()能够判断数据中元素是否为空值;T为转置;any()判断该行是否有空值。

import pandas as pd
import numpy as np
n = np.arange(20, dtype=float).reshape(5,4)
n[2,3] = np.nan
index = ['index1', 'index2', 'index3', 'index4', 'index5']
columns = ['column1', 'column2', 'column3', 'column4']
frame3 = pd.DataFrame(data=n, index=index, columns=columns)
print(frame3[frame3.isnull().T.any()])

程序成功找到了第三行为有空值的行。

2.为什么加转置

在代码中,isnull()的结果需要求转置之后,才能进行any()操作,这是为什么呢?

下面对比一下isnull转置和非转置的情况:

print(frame3.isnull().any())
print("========================")
print(frame3.isnull().T.any())

可见:

非转置:frame3.isnull().any(),得到的每一列求any()计算的结果,输出为列的Series。

转置:frame3.isnull().T.any(),得到的每一行求any()计算的结果,输出为行的Series。

总结

以上所述是小编给大家介绍的Python pandas.DataFrame 找出有空值的行,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Python使用指定字符长度切分数据示例

处理思路 笔者在学习时被要求在Python中使用指定字符长度切分数据。 如,string类型的字符串film_type = ‘都市浪漫爱情喜剧',已知电影类型都是两个中文字符组成,要求切...

python TF-IDF算法实现文本关键词提取

TF(Term Frequency)词频,在文章中出现次数最多的词,然而文章中出现次数较多的词并不一定就是关键词,比如常见的对文章本身并没有多大意义的停用词。所以我们需要一个重要性调整系...

pybind11和numpy进行交互的方法

使用一个遵循buffer protocol的对象就可以和numpy交互了. 这个buffer_protocol要有哪些东西呢? 要有如下接口: struct buffer_i...

Python中装饰器高级用法详解

在Python中,装饰器一般用来修饰函数,实现公共功能,达到代码复用的目的。在函数定义前加上@xxxx,然后函数就注入了某些行为,很神奇!然而,这只是语法糖而已。 场景 假设,有一些工作...

讲解Python中的标识运算符

讲解Python中的标识运算符

 下表列出了所有Python语言支持的标识运算符。 示例: 试试下面的例子就明白了所有Python编程语言提供的标识运算符: #!/usr/bin/python a =...