Python 从df1获取数据,如果它没有';不存在于df2中

Python 从df1获取数据,如果它没有';不存在于df2中,python,pandas,dataframe,Python,Pandas,Dataframe,如果df2中不存在数据,我会尝试从df1获取数据,df1中的col1应该与df2中的col3对齐(col2和col4相同) 就用吧。覆盖参数说明 覆盖bool,默认为True 如何处理重叠关键点的非NA值: True:使用其他数据帧的值覆盖原始数据帧的值 False:仅更新原始数据帧中的NA值 请注意,df.update(other)使用匹配列标签上另一个数据框中的非NA值就地修改 df2.update(df1.set_轴(df2.columns,轴=1)) 使列相同/用np.Nan替

如果df2中不存在数据,我会尝试从df1获取数据,df1中的col1应该与df2中的col3对齐(col2和col4相同)

就用吧。覆盖参数说明

覆盖bool,默认为True

如何处理重叠关键点的非NA值:

  • True:使用其他数据帧的值覆盖原始数据帧的值

  • False:仅更新原始数据帧中的NA值

请注意,
df.update(other)
使用匹配列标签上另一个数据框中的非NA值就地修改

df2.update(df1.set_轴(df2.columns,轴=1))

使列相同/用np.Nan替换Nan/更新数据帧

df1.columns = df2.columns
df2 = df2.replace('Nan', np.NAN)
df2.update(df1, overwrite=False) # will only update the NAN values

您的最终_Df似乎与您的请求不一致:第一行的col2用Df2的值更新了吗?
print(df2)

  col3 col4
0    2    2
1    1  Nan
2  Nan    1
df1.columns = df2.columns
df2 = df2.replace('Nan', np.NAN)
df2.update(df1, overwrite=False) # will only update the NAN values