gpt4 book ai didi

python - 如果前五列中为 NaN,则删除行

转载 作者:行者123 更新时间:2023-12-03 23:26:27 26 4
gpt4 key购买 nike

我有一个尺寸为 89 行 x 13 列的 Pandas 数据框。如果 NaN 出现在前五列中,我想删除 整个 行。这是一个例子。

LotName     C15   C16  C17  C18  C19 Spots15 Spots16 ...
Cherry St 439 464 555 239 420 101 101 ...
Springhurst NaN NaN NaN NaN NaN 12 12
Barton Lot 34 24 43 45 39 10 9 ...
在上面的示例中,我想删除 Springhurst 观察,因为它在前五列中包含 NaN。我如何才能在 Python 中做到这一点?

最佳答案

如果要对前 5 列的所有行中的 Nan 进行严格检查:

df.iloc[:, :5].dropna(how='all')
解释: df.iloc[:, :5] : 选择所有行和前 5 列 .dropna(how='all') : 检查一行中的所有值是否都是 NaN 如果你想在 5 列中的任何一列中检查 Nan:
df.iloc[:, :5].dropna(how='any')
要将其分配回原始 df,您可以执行以下操作:
In [2107]: ix = df.iloc[:, :5].dropna(how='all').index.tolist()

In [2110]: df = df.loc[ix]

In [2111]: df
Out[2111]:
LotName C15 C16 C17 C18 C19 Spots15 Spots16
Cherry St 439.0 464.0 555.0 239.0 420 101 101.0
Barton Lot 34.0 24.0 43.0 45.0 39 10 9.0

关于python - 如果前五列中为 NaN,则删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64528034/

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