将列表中零值的多个列添加到Pandas数据框中

时间:2016-01-08 01:11:15

标签: python pandas

说我有一个数据框

id col1 col2
1  1    foo
2  1    bar

列名列表

l = ['col3', 'col4', 'col5']

如何将新列添加到数据框中,其值为零?

id col1 col2 col3 col4 col5
1  1    foo     0    0    0
2  1    bar     0    0    0

1 个答案:

答案 0 :(得分:7)

您可以尝试直接分配(假设您的数据框名为df):

for col in l:
    df[col] = 0

或者使用DataFrame的assign方法,如果l可以包含值,数组或任何pandas系列构造函数,这是一种更简洁的方法。

# create a dictionary of column names and the value you want
d = dict.fromkeys(l, 0)
df.assign(**d)

assign方法上的Pandas文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.assign.html