2016-10-25 2 views
1

Der result Datenrahmen wird Wert NaN an der Säule zugeordnet b, die nicht in Datenrahmen dfa vorgestellt:Wie Standardwert zuweisen, während concat Durchführung auf Datenrahmen

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

Hier ist das Ergebnis:

a  b 
0 1 NaN 
0 10 10.0 

Anstelle von NaN würde ich lieber einen ganzzahligen Wert 0 zuweisen. Könnte es gemacht werden?

Antwort

1

können Sie reindexdfa durch Spalten von dfb verwenden und fügen Sie Parameter 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

Wäre es möglich, die 'result' indizieren, so dass die Indizes in der angegebenen Reihenfolge wie' [0,1] 'stattdessen sind von "[0,0]"? – alphanumeric

+0

Ja, fügen Sie den Parameter 'ignore_index = True' zu ​​[' concat'] hinzu (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.concat.html). – jezrael

+0

Spot auf! Vielen Dank! – alphanumeric

Verwandte Themen