2016-09-01 1 views
3

I 2 Spalten in meiner Datenrahmen haben und ich brauche es in 1 Einzel Spalteverschmelzen zwei Datenrahmen Spalten in 1 in Pandas

Index A    Index B 
0  A    0  NAN 
1  NAN   1  D 
2  B    2  NAN 
3  NAN   3  E 
4  C    4  NAN 

es wird immer ein 1-Wert für die Spalten fusionieren, ich möchte, dass meine Ergebnis aussehen

0 A 
1 B 
2 C 
3 D 
4 E 

Antwort

3

Option 1

df.stack().dropna().reset_index(drop=True) 

0 A 
1 D 
2 B 
3 E 
4 C 
dtype: object 

Option 2 Wenn Fehlende Angaben sind immer

df.A.combine_first(df.B) 

Index 
0 A 
1 D 
2 B 
3 E 
4 C 
Name: A, dtype: object 

Option 3 abwechselnd Was Sie für

fragte
df.A.append(df.B).dropna().reset_index(drop=True) 

0 A 
1 B 
2 C 
3 D 
4 E 
dtype: object 

Option 4 Ähnlich wie 3, aber über beliebige Anzahl von Spalten

pd.concat([i for _, i in df.iteritems()]).dropna().reset_index(drop=True) 

0 A 
1 B 
2 C 
3 D 
4 E 
dtype: object 
Verwandte Themen