如果超过90%的功能在熊猫中缺少价值,如何放弃整个记录

发布于 2025-01-19 03:26:49 字数 170 浏览 1 评论 0原文

我有一个名为 df 的 pandas 数据框,包含 500 列和 200 万条记录。

我能够删除包含超过 90% 缺失值的列。

但是,如果整个记录中 90% 或更多的列缺少值,我如何才能将整个记录放入 pandas 中呢?

我看过类似的“R”帖子,但我现在正在用 python 编码。

I have a pandas dataframe called df with 500 columns and 2 million records.

I am able to drop columns that contain more than 90% of missing values.

But how can I drop in pandas the entire record if 90% or more of the columns have missing values across the whole record?

I have seen a similar post for "R" but I am coding in python at the moment.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

时光是把杀猪刀 2025-01-26 03:26:49

您可以使用 df.dropna() 并将 thresh 参数设置为与 10% 的列相对应的值(非 NA 值的最小数量)。

df.dropna(axis=0, thresh=50, inplace=True)

You can use df.dropna() and set the thresh parameter to the value that corresponds to 10% of your columns (the minimum number of non-NA values).

df.dropna(axis=0, thresh=50, inplace=True)
稀香 2025-01-26 03:26:49

您可以在 axis=1 上使用 isna + mean 来查找每行 NaN 值的百分比。然后使用 loc 选择小于 0.9(即 90%)的行:

out = df.loc[df.isna().mean(axis=1)<0.9]

You could use isna + mean on axis=1 to find the percentage of NaN values for each row. Then select the rows where it's less than 0.9 (i.e. 90%) using loc:

out = df.loc[df.isna().mean(axis=1)<0.9]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文