2016-10-25 56 views
1
執行CONCAT分配默認值

result數據框獲得分配給列b NaN的值未在數據幀dfa介紹:如何同時DataFrames

dfa = pd.DataFrame({'a':[1]}) 
dfb = pd.DataFrame({'a':[10], 'b':[10]}) 
result = pd.concat([dfa, dfb]) 
print result 

下面是結果:

a  b 
0 1 NaN 
0 10 10.0 

而不是NaN我寧願分配一個整數值0。它可以完成嗎?

回答

1

您可以通過dfb列使用reindexdfa並添加參數fill_value=0

dfa = dfa.reindex(columns=dfb.columns, fill_value=0) 
print (dfa) 
    a b 
0 1 0 

result = pd.concat([dfa, dfb], ignore_index=True) 
print (result) 
    a b 
0 1 0 
1 10 10 
+0

是否有可能重新索引'result'所以索引是按順序一樣'[0,1]'代替'[0,0]'? – alphanumeric

+0

是的,將參數'ignore_index = True'添加到['concat'](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.concat.html)。 – jezrael

+0

現貨!謝謝! – alphanumeric