除了粗暴强制循环外,给定dataframe
df :
A B C
0 True 1 23.0
1 False 2 25.0
2 ... ... ....
list
dicts
lod :
[{'A': True, 'B':2, 'C':23}, {'A': True, 'B':1, 'C':24}...]
我想添加 lod {A: True, B:2, C:23}
的第一个元素,因为23.0已经在 df C列中,但不是第二个元素{{ 1}}因为24不是 df 的{A: True, B:1, C:24}
列中的值。
然后将C
的所有项添加到list of dicts
已加入数据框的dataframe
值,否则继续使用下一个元素。
答案 0 :(得分:2)
您可以将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