Python 如果元素等于数据框B中的元素,则从数据框a中删除行的有效方法
我在Dataframe B中有一列,其中包含我希望从Dataframe a中删除的元素,如果a包含它们的话。我想把A的整行删掉 我对编程并不陌生,但我正在学习广泛的熊猫图书馆。从我所看到的,这不可能在任何方面是有效的或适当的Python 如果元素等于数据框B中的元素,则从数据框a中删除行的有效方法,python,pandas,dataframe,Python,Pandas,Dataframe,我在Dataframe B中有一列,其中包含我希望从Dataframe a中删除的元素,如果a包含它们的话。我想把A的整行删掉 我对编程并不陌生,但我正在学习广泛的熊猫图书馆。从我所看到的,这不可能在任何方面是有效的或适当的 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:
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[“ColumnNameInA”].isin(dfB[“ColumnNameInB”])
创建一个序列,只要dfA
的列中的值在dfB
的列中,该序列就是True
。我们将其传递给.loc
,并重新分配给dfA
IIUC:
您需要替换相应的列名
在这种情况下,
dfA[“ColumnNameInA”].isin(dfB[“ColumnNameInB”])
创建一个序列,只要dfA
的列中的值在dfB
的列中,该序列就是True
。我们将其传递给.loc
,并重新分配给dfA
这也应该有效:
df = df[df['A'] == df2['B']]
假设:df和df2的长度相同,您正在比较df中的x行和df2中的x行
示例数据集:
df = pd.DataFrame({'A': [1,2,3]})
df2 = pd.DataFrame({'B': [1,4,3]})
输出:
df
A
0 1
2 3
这也应该起作用:
df = df[df['A'] == df2['B']]
假设:df和df2的长度相同,您正在比较df中的x行和df2中的x行
示例数据集:
df = pd.DataFrame({'A': [1,2,3]})
df2 = pd.DataFrame({'B': [1,4,3]})
输出:
df
A
0 1
2 3
你能发一封信吗?你能发一封邮件吗?在您的例子中,当我们重新分配dfA时,当满足两个相等的条件时,序列将为真。所以,这个新的数据帧不只是由重复的条目组成吗?而不是保留所有内容,除了重复的条目?@BenW抱歉。只要否定它,你就会得到你想要的。我在您的实例中编辑了行.Hmmm,当我们重新分配dfA时,当满足两个相等的条件时,序列将为真。所以,这个新的数据帧不只是由重复的条目组成吗?而不是保留所有内容,除了重复的条目?@BenW抱歉。只要否定它,你就会得到你想要的。我已经编辑了这行。