我有一个名为 df
的 Pandas DataFrame,它有 1,460 行和 81 列。我想删除所有至少有一半条目为 NaN 的列,并对行执行类似的操作。
根据 Pandas 文档,我尝试这样做:
train_df.shape //(1460, 81)
train_df.dropna(thresh=len(train_df)/2, axis=1, inplace=True)
train_df.shape //(1460, 77)
这是正确的做法吗?它似乎删除了 4 列,但我很惊讶。我本以为 len(train_df)
会得到行数,所以我将错误的值传递给了 thresh
...?
我如何对行执行同样的操作(删除至少一半列为 NaN 的行)?
谢谢!
最佳答案
我猜你做对了,但忘了添加 .index。 该行应如下所示:
train_df.dropna(thresh=len(train_df.index)/2, axis=1, inplace=True)
希望对您有所帮助。
关于python - Pandas:如果超过一半是 NaN,则删除行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46433588/