检查两个pandas数据帧是否已合并

时间:2018-04-24 21:08:59

标签: python-2.7 pandas merge

假设我有DataFrames df和df2。 df2可能已经或可能没有与df通过

合并
df = df.merge(df2,how='left',left_index=True,right_index=True)

当未合并时,它们应该没有共同的列名。

检查df和df2是否已合并的最简洁方法是什么?

2 个答案:

答案 0 :(得分:1)

合并Index.intersectionIndex.empty以确定是否存在共同的列:

df.columns.intersection(df2.columns).empty

返回True表示没有共同的列。

答案 1 :(得分:0)

利用以下事实:

  

当未合并时,它们应该没有共同的列名。

检查df中是否存在df2中的任何列名称。为此,您可以使用"列" DataFrame的属性。

例如:

# Create DataFrames with respectively unique columns
df = pd.DataFrame([1,2,3], columns=['a'])
df2 = pd.DataFrame([4,5,6], columns=['b'])

# False; the DataFrames have not been mereged 
not df.columns.intersection(df2.columns).empty

# Merge
df = df.merge(df2,how='left',left_index=True,right_index=True)

# True; the DataFrames have been merged
not df.columns.intersection(df2.columns).empty

更新:建议来自评论。请在此处查看类似选项:python: check if an numpy array contains any element of another array