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

在R语言中如何移除DataFrame中含另一DataFrame无对应值的行?

过滤包含无效用户的DataFrame行

需求说明

我有两个DataFrame:df_description和df_users。df_description包含一列名为users的字段,df_users则包含user_1和user_2两列。需要保留df_users中**两列值都存在于df_description['users']**的行,若某行任一值不在df_description的users列中,则移除该行。

示例输入

df_description

users
Adam
Micheal
George

对应创建代码:

import pandas as pd

df_description = pd.DataFrame({'users': ['Adam', 'Micheal', 'George']})

df_users

user_1user_2
AdamGeorge
AdamMicheal
GeorgeElizabeth

对应创建代码:

df_users = pd.DataFrame({
    'user_1': ['Adam', 'Adam', 'George'],
    'user_2': ['George', 'Micheal', 'Elizabeth']
})

实现方案

  1. 提取有效用户集合(集合查询效率更高):
valid_users = set(df_description['users'])
  1. 过滤df_users,仅保留双列值都属于有效用户的行:
filtered_df = df_users[
    df_users['user_1'].isin(valid_users) & 
    df_users['user_2'].isin(valid_users)
]

示例输出

过滤后的df_users

user_1user_2
AdamGeorge
AdamMicheal

运行代码后打印结果:

print(filtered_df)
# 输出:
#   user_1  user_2
# 0    Adam  George
# 1    Adam Micheal

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:05:25