首页 > 解决方案 > Python:使列表中的每个元素成为现有数据框中的新列

问题描述

我有一个现有的示例数据框(见下文)。

A   B
as  2
df  32
fj  1

我还有两个示例列表:

list_1 = ['234', '341', '482']
list_2 = ['111', '2223', '8908']

我想将我的两个列表与我的数据框连接起来,以便列表中的每个元素都是一列。

期望的输出:

A   B   234   341   482   111   2223   8908
as  2
df  32
fj  1

我已经在谷歌上搜索了如何做到这一点,但找不到任何具体的东西。

标签: pythondataframeelementconcat

解决方案


使用分配功能:

df = pd.DataFrame([
    ['as', 2],
    ['df', 32],
    ['fj', 1]
])
list_1 = ['234', '341', '482']
list_2 = ['111', '2223', '8908']
df
    0   1
0   as  2
1   df  32
2   fj  1

df = df.assign(**{k: 0 for k in list_1 + list_2})
df

    0   1   111     2223    234     341     482     8908
0   as  2   0       0       0       0       0       0
1   df  32  0       0       0       0       0       0
2   fj  1   0       0       0       0       0       0

推荐阅读