首页 > 解决方案 > 有没有办法在 pandas 中创建代表三个数据帧的共享值的虚拟变量?

问题描述

我有三个数据框,我创建了三组不同的虚拟列。每个数据框都有一组与其他两个略有不同的虚拟变量。

我正在尝试结合看起来像这样的东西 -

set1 - (a, b, c, d, e, f)

set2 - (a, b, c, d, f, k)

set3 - (a, c, d, e, f, i, n)

期望的集合 - (a, c, d, f)

有没有办法通过比较列名作为集合来做到这一点?

标签: pythonpandas

解决方案


我认为这就是你的意思,合并数据框。答案是肯定的。Pandas 提供了将数据框合并为一个的强大功能。如果您选择它,您可能会假设两个数据框共享一些共同的值:

import pandas as pd

df1 = pd.DataFrame({
    'letter':['a','b','h','d']})
df2 = pd.DataFrame({
    'letter':['f','q','b','a']})

print(df1.merge(df2))

PRINTS:
  letter
0      a
1      b

如果您想进一步扩展功能,我建议您查看文档:https ://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html


推荐阅读