J'ai un df avec deux colonnes et je veux combiner les deux colonnes en ignorant les valeurs NaN. L'astuce est que parfois les deux colonnes ont des valeurs NaN, auquel cas je veux que la nouvelle colonne ait aussi NaN. Voici l'exemple :
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
J'ai essayé d'utiliser fillna
et de résoudre cela :
df['foodstuff'].fillna('') + df['type'].fillna('')
et j'ai obtenu :
0 apple-martini
1 apple-pie
2 strawberry-tart
3 dessert
4
dtype: object
La ligne 4 est devenue une valeur vide. Ce que je veux dans cette situation est une valeur NaN car les deux colonnes à combiner sont des NaN.
0 apple-martini
1 apple-pie
2 strawberry-tart
3 dessert
4 None
dtype: object