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中的Numeric包和Numarray包使用教程

要了解 Numerical Python 软件包的第一件事情是,Numerical Python 不会让您去做标准 Python 不能完成的任何工作。它只是让您 以快得多的速度去完成标准...

探寻python多线程ctrl+c退出问题解决方案

场景: 经常会遇到下述问题:很多io busy的应用采取多线程的方式来解决,但这时候会发现python命令行不响应ctrl-c 了,而对应的java代码则没有问题: 复制代码 代码如下:...

Python的动态重新封装的教程

让我们描绘一下本文的情节:假设您要在本地机器上运行一个进程,而部分程序逻辑却在另一处。让我们特别假设这个程序逻辑会不时更新, 而您运行进程时,希望使用最新的程序逻辑。有许多方法可以满足刚...

Pandas_cum累积计算和rolling滚动计算的用法详解

Pandas主要统计特征函数: 方法名 函数功能 sum() 计算数据样本的总和(按列计...

python3获取当前目录的实现方法

1. 以前的方法 如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数。 如果是要获得当前执行的脚本的所在目录位置,那么需要使用sys模块的sys.p...