2016-09-28 62 views
3

如何在現有的pandas DataFrame對象的單個實例中初始化多個列?我可以在初始化實例單列,是這樣的:如何初始化多個列到現有的熊貓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 

是有辦法,我可以做到這一點?

回答

1

我得到了一個解決方案here

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

將做的伎倆。

實際上這將是:

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

應'df.reindex(列=列表( 'ABCD'))。fillna(0)'。 – Abdou

+0

yes..actuall fillna(0)是我一直在尋找的。謝謝 –

+0

你目前有什麼會引發錯誤。應該是:'columns = list('abcd')'或'columns = ['a','b','c','d']'用於'columns'參數。 – Abdou

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