1
votes

Comment remplir des cellules NaN dans un dataframe pandas, basé sur la colonne précédente?

J'ai le DF suivant

col1| col2
 123| 123
 234| 234
 456| 456
 567| 567

et ce que je veux faire, c'est copier la cellule de gauche dans la cellule de droite si la cellule de droite est vide, donc la sortie est

col1| col2
 123| NaN
 234| 234
 456| NaN
 567| 567

J'ai essayé de travailler avec fillna, mais j'ai échoué lamentablement


1 commentaires

@jezrael Regardez this . Si cela vous semble proche?


3 Réponses :


2
votes

Utilisez le ffill par colonnes, donc axis=1 :

df = df.ffill(axis=1)
print (df)
    col1   col2
0  123.0  123.0
1  234.0  234.0
2  456.0  456.0
3  567.0  567.0


0 commentaires

1
votes

Vous pouvez utiliser np.where partir du package numpy

En supposant que votre dataframe s'appelle df :

col1| col2
 123| 123
 234| 234
 456| 456
 567| 567

ce qui vous donnera:

import numpy as np
df['col2'] = np.where(df['col2'].isnull(),df['col1'],df['col2'])


0 commentaires

2
votes
df.fillna(method='ffill',axis=1)

0 commentaires