Pandas 如果列中的项已存在,则向数据框添加项

Pandas 如果列中的项已存在,则向数据框添加项,pandas,Pandas,除了使用循环强制执行之外,给定数据帧df: A B C 0 True 1 23.0 1 False 2 25.0 2 ... ... .... [{'A': True, 'B':2, 'C':23}, {'A': True, 'B':1, 'C':24}...] 以及目录的列表lod: A B C 0 True 1 23.0 1 False 2 25.0 2 ...

除了使用循环强制执行之外,给定
数据帧
df

   A       B    C  
0  True    1    23.0
1  False   2    25.0
2  ...     ...  ....
[{'A': True, 'B':2, 'C':23}, {'A': True, 'B':1, 'C':24}...]
以及
目录的
列表
lod

   A       B    C  
0  True    1    23.0
1  False   2    25.0
2  ...     ...  ....
[{'A': True, 'B':2, 'C':23}, {'A': True, 'B':1, 'C':24}...]
我想添加lod
{A:True,B:2,C:23}
的第一个元素,因为23.0已经在dfC列中,而不是第二个元素
{A:True,B:1,C:24}
,因为24不是df
C
列中的值


因此,将dict的
列表的所有项目添加到数据框中已经存在的
列的
数据框中,否则继续下一个元素。

您可以将dict列表转换为数据框,然后使用
isin

add=pd.DataFrame([{'A': True, 'B':2, 'C':23}, {'A': True, 'B':1, 'C':24}])

s=pd.concat([df,add[add.C.isin(df.C)]])
s
Out[464]: 
       A  B     C
0   True  1  23.0
1  False  2  25.0
0   True  2  23.0