Ich habe ein df mit zwei Spalten und ich möchte beide Spalten kombinieren, die NaN-Werte ignorieren. Der Haken ist, dass manchmal beide Spalten NaN-Werte haben. In diesem Fall möchte ich, dass die neue Spalte auch NaN hat. Hier ist das Beispiel:Pandas kombinieren zwei Spalten mit Nullwerten
df = pd.DataFrame({'foodstuff':['apple-martini', 'apple-pie', None, None, None], 'type':[None, None, 'strawberry-tart', 'dessert', None]})
df
Out[10]:
foodstuff type
0 apple-martini None
1 apple-pie None
2 None strawberry-tart
3 None dessert
4 None None
Ich versuchte fillna
zu verwenden und diese lösen:
df['foodstuff'].fillna('') + df['type'].fillna('')
und ich bekam:
0 apple-martini
1 apple-pie
2 strawberry-tart
3 dessert
4
dtype: object
Die Zeile 4 ein Leerwert geworden ist. Was ich in dieser Situation wollte, ist ein NaN-Wert, da beide kombinierenden Säulen NaNs sind.
0 apple-martini
1 apple-pie
2 strawberry-tart
3 dessert
4 None
dtype: object