说我有一个数据框
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
Thtu.. 9
您可以尝试直接分配(假设您的数据框名为df):
for col in l: df[col] = 0
或者使用DataFrame的assign方法,如果l
可以包含值,数组或任何pandas Series构造函数,这是一种稍微简洁的方法.
# create a dictionary of column names and the value you want d = dict.fromkeys(l, 0) df.assign(**d)
Pandas关于该assign
方法的文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.assign.html
您可以尝试直接分配(假设您的数据框名为df):
for col in l: df[col] = 0
或者使用DataFrame的assign方法,如果l
可以包含值,数组或任何pandas Series构造函数,这是一种稍微简洁的方法.
# create a dictionary of column names and the value you want d = dict.fromkeys(l, 0) df.assign(**d)
Pandas关于该assign
方法的文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.assign.html