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

如何计算pandas数据帧中列中的NaN值

田翰林
2023-03-14

我想在数据的每一列中找到nan的数量,这样,如果某一列的nan少于某个阈值,我就可以删除该列。我看了一下,但没有找到任何功能。value_counts对我来说太慢了,因为大多数值都是不同的,而且我只对nan计数感兴趣。

共有1个答案

唐涛
2023-03-14

您可以使用isna()方法(或者它的别名isnull(),它也与较旧的pandas版本<0.21.0)兼容),然后使用sum来计算NaN值。对于一列:

In [1]: s = pd.Series([1,2,3, np.nan, np.nan])

In [4]: s.isna().sum()   # or s.isnull().sum() for older pandas versions
Out[4]: 2

对于几个列,它也起作用:

In [5]: df = pd.DataFrame({'a':[1,2,np.nan], 'b':[np.nan,1,np.nan]})

In [6]: df.isna().sum()
Out[6]:
a    1
b    2
dtype: int64
 类似资料:
  • 我想在我的数据的每一列中找到< code>NaN的数目。

  • 当我尝试将函数应用于Amount列时,我得到以下错误: 我试过使用Math模块中的.isnan应用函数我试过使用pandas.replace属性我试过使用pandas0.9中的.sparse data属性我也试过使用函数中的if NaN==NaN语句。我还看了这篇文章,如何在R数据帧中用0替换NA值?同时查看一些其他文章。我试过的所有方法都不起作用,或者不认识南。如有任何提示或解决方案,将不胜感激

  • 对熊猫来说显然是新鲜事物。如何简单地计算数据帧中的记录数。 我本以为像这样简单的东西就能做到,但我似乎甚至在搜索中都找不到答案...可能是因为它太简单了。 上面的代码实际上只是打印整个df

  • 下面有一段代码,它创建了数据框中每列中缺失值的汇总表。我希望我可以构建一个类似的表来计算唯一的值,但是DataFrame没有唯一的()方法,只有每一列是独立的。 (资料来源:https://stackoverflow.com/a/39734251/7044473) 如何为唯一值实现相同的功能?

  • 预期产出 每列计数为nan/null的数据帧 注意:我在堆栈溢出中发现的前面的问题只检查null 我知道我可以在Spark中使用函数来查找Spark列中的空值数,但如何在Spark数据帧中查找Nan值?

  • 问题内容: 我有一个数据框,如下所示:框的形状是(1510,1399)。列代表产品,行代表用户为给定产品分配的值(0或1)。如何计算jaccard_similarity_score? 我创建了一个占位符数据框,列出了产品与产品 我不确定如何通过data_ibs进行迭代以计算相似性。 问题答案: 简短且向量化(快速)的答案: 从scikit的成对距离使用“汉明”学习: 说明: 假设这是您的数据集: