当前位置: 首页 > 知识库问答 >
问题:

如果列值为NaN,熊猫数据框返回布尔值

薛弘壮
2023-03-14

我有一个包含多个列的DataFrame,我想检查特定的列值是否为NaN,如果是,我需要返回布尔值(True或False)。

我试过了

pandas_df['col1'].isnull()

但它返回所有具有索引和布尔值的行。

共有3个答案

蔚宏大
2023-03-14

您也可以使用isna()。这与isnull()相同。

df.isna()将检测整个数据帧上的缺失值。

   age       born    name        toy
0  5.0        NaT  Alfred       None
1  6.0 1939-05-27  Batman  Batmobile
2  NaN 1940-04-25              Joker

调用df.isna()

     age   born   name    toy
0  False   True  False   True
1  False  False  False  False
2   True  False  False  False

谷梁星雨
2023-03-14

对于返回布尔标量使用Series.any-测试是否至少一个NaN(至少一个True)每列:

pandas_df['col1'].isnull().any()

如果需要测试,如果所有valeus是NaNs使用Series.all

pandas_df['col1'].isnull().all()
pandas_df = pd.DataFrame({'col1':[1,2,np.nan],
                          'col2':[np.nan, np.nan, np.nan]})

print (pandas_df['col1'].isnull().any())
True

print (pandas_df['col2'].isnull().all())
True
周云
2023-03-14

IIUC您需要.any()来检查是否存在任何空值:

pandas_df.col1.isnull().any()
 类似资料:
  • 问题内容: 我正在尝试学习熊猫,但请对以下内容感到困惑。我想用行平均值替换NaN是一个数据框。因此,类似的东西应该可以工作,但是由于某种原因,它对我来说是失败的。我是否想念任何东西,我做错了什么?是因为其未执行; 但是这样的事情看起来很好 问题答案: 如评论所述,fillna的axis参数为NotImplemented。 注意:这在这里很重要,因为您不想用第n行平均值填写第n列。 现在,您需要遍历

  • 我有一系列不同元素的值。值计数显示如下。 我想为每个类别创建列,并为每一行标记True/False。 e. g. 我设法从所有项目中获取了这些类别的唯一列表。我还可以通过在此处的解决方案中给出的方法将其制作成单独的列。 但在我的情况下,数据是不完整的/变化的,因此给我一个DF,如下所示 有没有办法使用熊猫或其他python工具将其转换为所需的输出。我现在正在使用pandas.pivot_table

  • 我有一个空单元格的数据框,并希望用NaN替换这些空单元格。之前在这个论坛上提出的解决方案有效,但前提是单元格包含一个空间: 当单元格为空时,此代码不起作用。有人建议用熊猫代码来代替空细胞吗?

  • 我想在我的数据的每一列中找到< code>NaN的数目。

  • 问题内容: 我有两个看起来像这样的数据框: 现在,如果我利用pandas .isin函数,我可以做一些漂亮的事情 列和from存在于while中不 我的问题是:是否有人知道为df_2中但不存在于df_1中的列返回列标签的方法 像这样的东西 先感谢您! 问题答案: 熊猫索引对象具有类似集合的属性,因此您可以直接执行以下操作: 您还可以使用运算符来计算交集,并集和对称差: 过去存在差异的运算符,现已弃

  • 问题内容: 我注意到程序中存在一个错误,发生该错误的原因是因为熊猫似乎是通过引用熊猫数据框而不是通过值进行复制。我知道不可变对象将始终通过引用传递,但pandas数据帧不是不可变的,因此我不明白为什么它通过引用传递。谁能提供一些信息? 谢谢!安德鲁 问题答案: Python中的所有函数都是“按引用传递”,没有“按值传递”。如果要显式复制pandas对象,请尝试。