如何根据 Python 中的另一个数据框过滤掉行? [复制]
Posted
技术标签:
【中文标题】如何根据 Python 中的另一个数据框过滤掉行? [复制]【英文标题】:How do I filter out rows based on another data frame in Python? [duplicate] 【发布时间】:2021-07-05 11:01:36 【问题描述】:所以我需要使用另一个数据帧作为条件从一个数据帧中过滤掉行。
df1:
system code
AIII-01 423
CIII-04 123
LV-02 142
df2:
StatusMessage Event
123 Gearbox warm up
所以对于这个例子,我需要删除代码为 423 和 142 的行。
我该怎么做?
【问题讨论】:
df1.merge(df2,left_on='code',right_on='StatusMessage')
【参考方案1】:
为您提供即插即用脚本。如果这不适用于您的常规代码,请检查以确保您在同一列中具有相同的类型。
import pandas as pd
df1 = pd.DataFrame(
"system": ["AIII", "CIII", "LV"], "Code": [423, 123, 142]
)
df2 = pd.DataFrame(
"StatusMessage": [123], "Event": ["Gearbox warm up"]
)
### This is what you need
df1 = df1[df1.Code.isin(df2.StatusMessage.unique())]
print(df1)
【讨论】:
Anurag 的代码也可以工作(如果你想合并应该使用)。您也可以在我的代码中删除.unique()
,具体取决于时空要求。
查看我的编辑!应该有帮助。如果没有,请回复我。以上是关于如何根据 Python 中的另一个数据框过滤掉行? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何从 python pandas 中的另一个数据框中检索数据? [复制]