如何删除熊猫中的空值?

问题描述 投票:0回答:1

enter image description here这是我第一次问StackOverflow,所以如果我说奇怪的话,请让我平稳地知道。

我想预测此数据集中的准确性。但是我不知道如何使用pandas或numpy接受或删除nan或null值,以及如何在此模型中获得正确的准确性和损失。

而且我试图在熊猫中使用isnull函数,但是没有用。

我认为未计算准确性和损失值的原因是,设置为X的值属于空值。

所以我想知道如何除nan或null值。

如果您有类似案件或解决此问题,请让我知道如何解决此问题。谢谢!

tensorflow machine-learning deep-learning tensorflow-datasets
1个回答
0
投票

[您说过,您不知道如何删除pandas或numpy中的nan值,但是有时候我们不删除它们,而是替换它们。例如,您可以为某个要素的非值设置零,或者可以计算并使用该要素的平均值。

要删除具有nan值的行,您可以这样做

x = np.array([[1,2,3,4],
              [2,3,np.nan,5],
              [np.nan,5,2,3]])
x = x[~np.isnan(x).any(axis=1)]

输出:

array([[1., 2., 3., 4.]])

或者用numpy数组将Nan替换为0,例如:

x[np.isnan(x)] = 0

输出

x:
array([[1., 2., 3., 4.],
       [2., 3., 0., 5.],
       [0., 5., 2., 3.]])

在pandas数据框中,您可以使用Nan elemnt删除特定的列

x = np.array([[np.nan,2,3,4],
          [2,3,np.nan,5],
          [3,5,2,3]])
xpd = pd.DataFrame(x, columns=["A","B","C","D"])
xpd = xpd[pd.notnull(xpd['A'])]

输出

xpd
     A    B    C    D
1  2.0  3.0  NaN  5.0
2  3.0  5.0  2.0  3.0

或删除带有Nan元素的行

xpd:
     A    B    C    D
2  3.0  5.0  2.0  3.0

而且您也可以在padas数据框中用其他东西替换nan值

xpd = xpd.replace([np.nan], 0)

输出

xpd:
     A    B    C    D
0  0.0  2.0  3.0  4.0
1  2.0  3.0  0.0  5.0
2  3.0  5.0  2.0  3.0
© www.soinside.com 2019 - 2024. All rights reserved.