gpt4 book ai didi

python - 尽管 DataFrame 中存在 NaN,isnull(df.any) 仍返回 False

转载 作者:行者123 更新时间:2023-12-01 01:45:14 25 4
gpt4 key购买 nike

我试图通过以下方式获取 Dataframe 是否包含 Null 或 NaN 值:

import numpy as np
import pandas as pd

# load the time series of known points
y = [np.array([])]

y = [np.array([10, 11, 11, 11, 2, 4, 3, 7, 8, 9]),
np.array([1, 1, 1, 2, 2, 2, 2, 3, 2, 1]),
np.array([1, 1, 2, 2, 2, 2, 3, 2, 1])]
y = pd.DataFrame(y)



for i in range(len(y)):
if (pd.isnull(y.any) == True):
print ("Error: t2 array index " + str(i) + " ahave NaN or null!")
print("All good bro")
print (pd.isnull(y)
print (pd.isnull(y.any))

当我打印 y 时,你可以清楚地看到最后一个元素是 NaN。这是因为第三个 numpy 数组比其他数组短。 Pandas 自动用 NaN 填充缺失值以保持数据框形状。

但是,如果我尝试打印 pd.isnull(y.any) 我会得到 False。我尝试了 y.all ,但也得到了 False 。我也尝试了 y[1].any ,结果相同。

我在这里缺少什么?

最佳答案

您可以使用:

y.isnull().values.any()

代码:

import numpy as np
import pandas as pd

# load the time series of known points
y = [np.array([])]

y = [np.array([10, 11, 11, 11, 2, 4, 3, 7, 8, 9]),
np.array([1, 1, 1, 2, 2, 2, 2, 3, 2, 1]),
np.array([1, 1, 2, 2, 2, 2, 3, 2, 1])]
y = pd.DataFrame(y)

print(y.isnull().values.any())

输出:

True

关于python - 尽管 DataFrame 中存在 NaN,isnull(df.any) 仍返回 False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51437324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com