You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选dataset中至少90%数值大于0的列

实现方案

1. Python(Pandas环境)

思路是先统计每列中大于0的数值占比,再筛选符合条件的列。

import pandas as pd

# 假设你的数据集存储在变量df中
# 计算每列大于0的数值占比(包含缺失值时,默认缺失值不计入大于0的范畴)
positive_rate = (df > 0).sum(axis=0) / df.shape[0]
# 筛选出90%以上数值大于0的列
filtered_df = df.loc[:, positive_rate >= 0.9]

如果需要排除缺失值后再计算占比,可改用如下逻辑:

# 仅统计非缺失值中大于0的占比
positive_rate = (df > 0).sum(axis=0) / df.notna().sum(axis=0)
filtered_df = df.loc[:, positive_rate >= 0.9]

2. R语言环境

# 假设你的数据集存储在变量df中
# 计算每列大于0的数值占比(自动忽略缺失值)
positive_rate <- colSums(df > 0, na.rm = TRUE) / colSums(!is.na(df))
# 筛选符合条件的列
filtered_df <- df[, positive_rate >= 0.9]

内容的提问来源于stack exchange,提问作者Andreas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 11:27:03