2017-10-26 3 views
1

Gibt es eine Möglichkeit, den resultierenden Datenrahmen nach dem Verketten eines numerischen Datenrahmens und eines leeren Datenrahmens numerisch zu halten?Datenstruktur numerisch nach Verkettung beibehalten

df1 = pd.DataFrame(data=[[1,2],[3,4]], columns=['a','b'], index=[0,1]) 
df1.dtypes 
Out[25]: 
a int64 
b int64 
dtype: object 

df2 = pd.DataFrame(columns=['c','d']) 
df2.dtypes 
Out[27]: 
c object 
d object 
dtype: object 

df = pd.concat([df1,df2], axis = 1) 
df 
Out[28]: 
    a b c d 
0 1 2 NaN NaN 
1 3 4 NaN NaN 

Ich möchte, dass die hinzugefügten Zeilen sind np.nan und die Datenrahmen numerische

Antwort

2

Set dtype Parameter float:

df2 = pd.DataFrame(columns=['c','d'], dtype=float) 

df = pd.concat([df1,df2], axis = 1) 

print (df) 
    a b c d 
0 1 2 NaN NaN 
1 3 4 NaN NaN 

print (df.dtypes) 
a  int64 
b  int64 
c float64 
d float64 
dtype: object 

Oder werfen leer df zu float:

df = pd.concat([df1,df2.astype(float)], axis = 1) 
print (df) 
    a b c d 
0 1 2 NaN NaN 
1 3 4 NaN NaN 

print (df.dtypes) 
a  int64 
b  int64 
c float64 
d float64 
dtype: object 
+0

Danke für die Antwort, aber Ich kann den Dataframe df2 nicht steuern ... – gabboshow

+0

Bitte nehmen Sie df1 und df2 wie angegeben .... Ich erstelle sie nicht – gabboshow

+0

Bitte überprüfen Sie die letzte Änderung. – jezrael