numpy 如何比较两列(A和B),如果B列中不存在A列的值,则将该值添加到Python中的B列?

icomxhvb  于 2022-11-10  发布在  Python
关注(0)|答案(1)|浏览(141)

我想比较A和B两列,如果A列中的值不存在于B列中,则将A列中的值添加到B列。
我已经尝试了下面的代码块,但是当我尝试它的时候,我得到了一个错误。

for c1 in df['A']:
  for c2 in df['B']:
    if c1!=c2 : 
        df['B'].append(c1)

我的数据库如下所示。
A|B

Brian|Meg
Peter|Stevie
Stevie|Chris
所需输出:
B

Meg
Stevie
Chris
布莱恩
彼得

kqqjbcuj

kqqjbcuj1#

for c1 in df['A']:
    if c1 not in df['B']:
        df['B'].append(c1)

如果我对你的问题理解正确的话,应该可以。示例:

df = {
'A' : [1,2,3],
'B' : [1,2,4]
}

for c1 in df['A']:
    if c1 not in df['B']:
        df['B'].append(c1)

print(df)

打印:

{'A': [1, 2, 3], 'B': [1, 2, 4, 3]}

编辑:
我已经为DataFrames的解决方案编辑了它。

dfa = df['A']
dfb = df['B']

dfa = dfa.rename(columns={'A':'B'})

# use concat to merge it

new_df = pd.concat([dfa,dfb])

new_df = new_df.drop_duplicates()

这应该可以解决你的问题。

相关问题