首页 > 解决方案 > 是否可以根据列名合并两个熊猫数据框?

问题描述

我有两个数据框:

left = pd.DataFrame(
        {
            "Col": ["D", "C", "B", "A"],
        },
    )
right = pd.DataFrame(
        {
            "A": ["A0"],
            "B": ["B0"],
            "C": ["C0"],
            "D": ["D0"],
        },
    )

是否可以根据col左侧和右侧的列名合并它们?

我需要得到以下结果:

result = pd.DataFrame(
        {
            "Col": ["D", "C", "B", "A"],
            "Val": ["D0", "C0", "B0", "A0"],
        },
    )

标签: pythonpandasdataframe

解决方案


你可以很简单地做到这一点.map

In [319]: left['Val'] = left['Col'].map(right.T[0])

In [320]: left
Out[320]:
  Col Val
0   D  D0
1   C  C0
2   B  B0
3   A  A0

推荐阅读