大熊猫dataframes合并具有相同的列名,一个

问题描述:

优先当合并,并使用以下MWE:大熊猫dataframes合并具有相同的列名,一个

import pandas as pd 
df1 = pd.DataFrame(data={'A': [1, 1], 'B': [2, 22]}) 
df2 = pd.DataFrame(data={'A': [1, 1], 'D': [4, 44]}) 
df3 = pd.DataFrame(data={'A': [1, 1], 'F': [6, 66]}) 
df = pd.concat([df1, df2, df3], axis=1, join='inner') 

输出是:

A B A D A F 
0 1 2 1 4 1 6 
1 1 22 1 44 1 66 

任何想法如何这可能与猫被转化或合并或其他函数(无需在合并之前或之后手动“删除”公共列,并且合并必须仍然在内部)到以下输出中(假定“优先级”给出df1['A'])?

A B D F 
0 1 2 4 6 
1 1 22 44 66 

您可以转置您的数据框,删除重复项并再次转换。

>>> df.T.drop_duplicates().T 
    A B D F 
0 1 2 4 6 
1 1 22 44 66 
+0

谢谢。这样做,因为价值是相同的。如果这些值不同,我对上面的例子做了类似的操作(对于上面的例子也是这样):'drops = [c for df2.columns if if in df1.columns]; df2.drop(滴,轴= 1,inplace = True); drop = [c for df3.columns if c in df1.columns]; df3.drop(drop,axis = 1,inplace = True)' –