【问题标题】:Checking if two pandas dataframes have already been merged检查两个熊猫数据框是否已经合并
【发布时间】:2018-10-05 06:00:38
【问题描述】:

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

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

未合并时,它们不应有共同的列名。

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

【问题讨论】:

  • 您希望 df.columns.intersection(df2.columns).empty 成为 True

标签: python-2.7 pandas merge


【解决方案1】:

利用以下事实:

未合并时,它们不应有共同的列名。

检查 df2 中的任何列名是否存在于 df 中。为此,您可以利用 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

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

【讨论】:

    【解决方案2】:

    结合Index.intersectionIndex.empty判断是否有共同的列:

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

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

    【讨论】:

      猜你喜欢
      • 2017-06-11
      • 2016-01-01
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多