gpt4 book ai didi

python - 如何在python中从第k列开始删除具有空值的行

转载 作者:IT老高 更新时间:2023-10-28 21:53:16 25 4
gpt4 key购买 nike

我需要删除所有从第 3 列开始的元素都是 NaN 的行

df = DataFrame(np.random.randn(6, 5), index=['a', 'c', 'e', 'f', 'g','h'], columns=['one', 'two', 'three', 'four', 'five'])

df2 = df.reindex(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'])
df2.ix[1][0] = 111
df2.ix[1][1] = 222

在上面的示例中,我的最终数据框不会包含行“b”和“c”。

这种情况下如何使用df.dropna()

最佳答案

您可以调用dropna带参数 subsethow:

df2.dropna(subset=['three', 'four', 'five'], how='all')

顾名思义:

  • how='all' 要求行中的每一列(subset)都为 NaN 才能被删除,而不是到默认的'any'
  • subset 是要检查 NaNs 的那些列。

作为 @PaulH指出,我们可以概括为删除最后的 k 列:

subset=df2.columns[k:]

确实,如果需要,我们甚至可以做一些更复杂的事情:

subset=filter(lambda x: len(x) > 3, df2.columns)

关于python - 如何在python中从第k列开始删除具有空值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14991195/

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