我试图仅从三个不同的数据框中找到唯一的列名。结果应为“ A”和“ F”列。任何帮助,将不胜感激。
ValueError: The truth value of a Index is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
错误:
<add name="MyConn" connectionString="metadata=res://*/Products.csdl|res://*/Products.ssdl|res://*/Products.msl;provider=System.Data.SqlClient;provider connection string="data source=100.6.8.111;initial catalog=myDB;user id=sa;password=XYZ;multipleactiveresultsets=True"" providerName="System.Data.EntityClient"/>
答案 0 :(得分:2)
您需要的对称差不过是联合-相交
a, b, c = df1.columns, df2.columns, df3.columns
(a | b | c).difference(a & b & c)
# Index(['A', 'B', 'E', 'F'], dtype='object')
答案 1 :(得分:-1)
如果要使用numpy,请使用intersect1d
。
np.intersect1d(np.intersect1d(df1.columns, df2.columns), df3.columns)
array(['C', 'D'], dtype=object)
或者在纯python中:
set(df1.columns).intersection(df2.columns).intersection(df3.columns)
{'C', 'D'}