2017-06-10 9 views
0

Dans mes ensembles de données (train, test), les valeurs max_floor sont nulles pour certains enregistrements. Je suis en train de remplir les valeurs nulles avec le mode de valeurs max_floor d'appartements qui partage le même nom d'appartementComment remplir les valeurs NaN avec le jeu de données Mode dans Python Pandas?

for t in full.apartment_name.unique(): 
     for df in frames:    
      df['max_floor'].fillna((df.loc[df["apartment_name"]==t, 
      'max_floor']). mode,inplace=True) 

où le plein est train.append (test) et df est [le train, le test]

L'exécution du code ci-dessus ne me donne pas le résultat attendu. Le code ci-dessus fonctionne bien, mais remplit toutes les valeurs nulles de max_floor avec le texte ci-dessous

bound method Series.mode of 0  NaN 
1084  NaN 
23278 9.0 
Name: max_floor, dtype: float64 

Je voulais juste remplacer le texte ci-dessus avec seulement les valeurs de max_floor. Toute aide serait appréciée.

+0

Fix votre mise en forme s'il vous plaît. –

+0

pourriez-vous élaborer? – binilg

+0

@binilg: Vous obtiendriez une meilleure réponse si vous montriez le code et les données que vous utilisez. Voir https://stackoverflow.com/help/how-to-ask et https://stackoverflow.com/help/mcve pour certains pointeurs. –

Répondre

0

mode() est une fonction que vous avez appelée mais que vous n'avez pas invoquée.

changement mode-mode()

+0

en utilisant mode() donne une erreur "TypeError: les objets 'Series' sont mutables, donc ils ne peuvent pas être hachés" – binilg