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

使用dplyr删除数据集中所有列均为负值的指定行

删除所有列取值均为负值行的实现方法

你可以根据自己常用的工具选择对应方案:

R语言

# 构造示例数据
df <- data.frame(
  Variable1 = c(2,3,4,-5,-9,-5,3,4),
  Variable2 = c(-9,-7,5,-1,3,-9,2,4),
  Variable3 = c(4,4,5,-9,3,2,1,-3),
  Variable4 = c(3,3,1,-9,2,1,5,-3),
  Variable5 = c(2,3,5,-7,3,3,5,6),
  Variable6 = c(3,5,3,-1,4,4,5,5),
  Variable7 = c(5,3,2,-6,3,2,1,4)
)

# 筛选逻辑:排除所有列取值都小于0的行
df_filtered <- df[!apply(df, 1, function(row) all(row < 0)), ]

Python(基于pandas库)

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'Variable 1': [2,3,4,-5,-9,-5,3,4],
    'Variable 2': [-9,-7,5,-1,3,-9,2,4],
    'Variable 3': [4,4,5,-9,3,2,1,-3],
    'Variable 4': [3,3,1,-9,2,1,5,-3],
    'Variable 5': [2,3,5,-7,3,3,5,6],
    'Variable 6': [3,5,3,-1,4,4,5,5],
    'Variable 7': [5,3,2,-6,3,2,1,4]
})

# 筛选逻辑:排除所有列取值都小于0的行
df_filtered = df[~(df < 0).all(axis=1)]

Excel 操作

  • 新增一列作为辅助判断列,假设你的数据从A2单元格开始,G列是最后一列数值
  • 辅助列首个单元格输入公式:=AND(A2<0,B2<0,C2<0,D2<0,E2<0,F2<0,G2<0),下拉填充到所有行
  • 筛选辅助列值为FALSE的行,就是你需要的结果,直接复制使用即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:27:02