它给了我重复的/带后缀的列。我看到的大多数问题都是人们希望在他们的数据上加后缀,我希望情况正好相反
到目前为止,这些列似乎没有什么用处,它们最终似乎都是来自上一次合并的NaN
我希望合并通过在发现重复列时覆盖,或者在数据帧不存在时将该列添加到数据帧中来工作。 我希望根据合并的参数进行覆盖,但它似乎默认为保留所有列,并且只满足条件
data4 = {'col1': [1, 2], 'col2': [3, 4]}
df4 = pd.DataFrame(data=data4)
data5 = {'col1': [1, 2], 'col2': [3, 4], 'col3': [9, 2]}
df5 = pd.DataFrame(data=data5)
df_merged = pd.merge(df4, df5, how="outer", left_on="col1", right_on="col1")
col1 col2_x col2_y col3
0 1 3 3 9
1 2 4 4 2
data6 = {'col1': [1, 2], 'col2': [3, 4], 'col3': [9, 2]}
df6 = pd.DataFrame(data=data6)
pd.merge(df6, df_merged, how="right", left_on="col1", right_on="col1")
col1 col2 col3_x col2_x col2_y col3_y
0 1 3 9 3 3 9
1 2 4 2 4 4 2
理想情况下,在上一次合并中,我希望它覆盖基于参数的左或右数据帧,而不是试图保留数据并添加suffixes
您需要的是^{} :
pandas中的合并类似于SQL中的“连接”。这将导致使用前缀重命名公共列,以保存2个合并数据帧的值
对于您的情况,您希望改为update数据帧
相关问题 更多 >
编程相关推荐