我在数据框B中有一列,其中包含我希望从数据框A中删除的元素,如果A包含它们。我希望从A删除整行。

我对编程并不陌生,但是我正在学习大量的Pandas库。从我所看到的,这不可能是有效或适当的。

for i in range(0,106):
    for j in range(0,171):
        if dfB.iloc[i,2] == dfA.iloc[j,0]:
            dfA.drop(j, inplace=True)

最佳答案

IIUC:

dfA = dfA.loc[~dfA["ColumnNameInA"].isin(dfB["ColumnNameInB"])]


您将需要替换适当的列名称。

在这种情况下,只要dfA["ColumnNameInA"].isin(dfB["ColumnNameInB"])列中的值位于True列中,dfA就会创建一个dfB系列。我们将其传递给.loc,然后重新分配给dfA

关于python - 如果元素等于数据框B中的元素,则从数据框A中删除行的有效方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55306207/

10-12 16:54