首页 > 解决方案 > 在熊猫中左连接时将行转换为新列

问题描述

我有以下问题。我知道如何做一个简单的左连接,例如:

df1 = pd.DataFrame({'key': ['foo', 'bar', 'baz'],
                    'value1': [1, 2, 3]})
df2 = pd.DataFrame({'key': ['foo', 'bar', 'baz', 'foo'],
                    'value2': [5, 6, 7, 8]})

print(df1.merge(df2, on='key'))

但是如何将附加行转换为新列?所需的输出将是:

desired = pd.DataFrame({'key': ['foo', 'bar', 'baz'],
                    'value1': [1, 2, 3],
                    'value2_1': [5, 6, 7],
                    'value2_2': [8, pd.NA,pd.NA] })

print(desired)

当然,可能会有更多的新列,而不仅仅是这个简单示例中的一个。非常感谢。

标签: pandas

解决方案


推荐阅读