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

如何过滤DataFrame:移除exp_cooccur与obs_cooccur比值<0.05的列?

解决方案

首先明确需求:你需要移除DataFrame中exp_cooccur与obs_cooccur的比值小于0.05的行(注:你括号里标注的20%对应0.2,若实际需求是比值小于0.2,只需修改代码中的阈值即可)。

实现步骤(基于Pandas)

  1. 处理边界情况:先排除obs_cooccur为0的行,避免计算比值时出现除零错误;
  2. 计算并筛选:通过布尔索引或query方法,保留比值≥0.05的行。

代码示例

方法1:布尔索引直接筛选

import pandas as pd

# 移除obs_cooccur为0的行
df = df[df['obs_cooccur'] != 0]

# 筛选比值≥0.05的行
filtered_df = df[(df['exp_cooccur'] / df['obs_cooccur']) >= 0.05]

方法2:使用query方法(更简洁)

# 移除obs_cooccur为0的行
df = df.query('obs_cooccur != 0')

# 筛选比值≥0.05的行
filtered_df = df.query('exp_cooccur / obs_cooccur >= 0.05')

若实际需求是obs_cooccur与exp_cooccur的比值小于阈值(比如你提到的20%=0.2),只需调换分子分母:

# 示例:移除obs_cooccur/exp_cooccur < 0.2的行
filtered_df = df[(df['obs_cooccur'] / df['exp_cooccur']) >= 0.2]

验证结果

可以通过以下代码查看过滤后的数据样例:

print(filtered_df.head())

内容的提问来源于stack exchange,提问作者RECEP TAYYİP DURGUT

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:24:25