如何将多个列初始化为现有的pandas DataFrame

时间:2016-09-28 21:23:07

标签: python pandas dataframe

如何在现有pandas DataFrame对象中的单个实例中初始化多个列?我可以通过这种方式初始化一个实例的单列:

df = pd.DataFrame({'a':[1,2,3],'b':[4,5,6]}, dtype='int')
df['c'] = 0

但是我做不了类似的事情:

df[['c','d']] = 0 or
df[['c']['d']] = 0

有没有办法实现这个目标?

3 个答案:

答案 0 :(得分:4)

我更喜欢这种解决方案。

    df = df.assign(**{'c': 0, 'd': 0})

答案 1 :(得分:2)

我得到了一个解决方案here

df.reindex(columns = list['cd'])

会做到这一点。

实际上它将是:

df.reindex(columns = list['abcd'])

答案 2 :(得分:0)

<强> pd.concat

pd.concat([df, pd.DataFrame(0, df.index, list('cd'))], axis=1)

enter image description here

<强> join

df.join(pd.DataFrame(0, df.index, list('cd')))

enter image description here