2017-01-06 4 views

Antwort

1

können Sie DataFrame.sum verwenden:

df = df.sum(axis=1) 

Wenn NaN Werte Sie können fillna zuerst:

df = df.fillna('').sum(axis=1) 

print (df) 
0 D 
1 G 
2 A 
3 B 
4 C 
dtype: object 

Eine andere Lösung mit apply-join:

df = df.apply(''.join, axis=1) 
#df = df.apply(lambda x: ''.join(x), axis=1) 
print (df) 
0 D 
1 G 
2 A 
3 B 
4 C 
dtype: object 

Lösung mit Series.combine_first, müssen aber NaN Werte:

print (df) 
    colA ColB ColC 
0 NaN D NaN 
1 NaN NaN G 
2 A NaN NaN 
3 NaN B NaN 
4 C NaN NaN 

df = df.colA.combine_first(df.ColB).combine_first(df.ColC) 
print (df) 
0 D 
1 G 
2 A 
3 B 
4 C 
Name: colA, dtype: object 
+0

Dank bekam ich: 'Typeerror: join() nimmt kein Schlüsselwort arguments' mit der zweiten Lösung. – tumbleweed

+1

Ich füge alternative Lösung 'df = df.apply (Lambda x: '' .join (x), Achse = 1)' – jezrael

+0

Nun habe ich: 'TypeError: () hat eine unerwartete Keyword-Argument 'Achse'' – tumbleweed

Verwandte Themen