如何根据 Python 中的另一个数据框过滤掉行?
How do I filter out rows based on another data frame in Python?
所以我需要使用另一个数据框作为条件从一个数据框中过滤掉行。
df1:
system code
AIII-01 423
CIII-04 123
LV-02 142
df2:
StatusMessage Event
123 Gearbox warm up
因此对于此示例,我需要删除代码为 423 和 142 的行。
我该怎么做?
即插即用脚本。如果这对您的常规代码不起作用,请检查以确保您在相同的列中具有相同的类型。
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)
所以我需要使用另一个数据框作为条件从一个数据框中过滤掉行。
df1:
system code
AIII-01 423
CIII-04 123
LV-02 142
df2:
StatusMessage Event
123 Gearbox warm up
因此对于此示例,我需要删除代码为 423 和 142 的行。
我该怎么做?
即插即用脚本。如果这对您的常规代码不起作用,请检查以确保您在相同的列中具有相同的类型。
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)