Erreur de Conversion de données lors de l'application d'une fonction à chaque ligne dans les pandas Python

J'ai un bloc de données dans les pandas en python qui ressemble à quelque chose comme cela -

    contest_login_count  contest_participation_count  ipn_ratio
0                    1                            1   0.000000
1                    3                            3   0.083333
2                    3                            3   0.000000
3                    3                            3   0.066667
4                    5                           13   0.102804
5                    2                            3   0.407407
6                    1                            3   0.000000
7                    1                            2   0.000000
8                   53                           91   0.264151
9                    1                            2   0.000000

Maintenant, je veux appliquer une fonction à chaque ligne de ce dataframe La fonction est écrite comme celle - ci,

def findCluster(clusterModel,data):
    return clusterModel.predict(data)

J'applique cette fonction à chaque ligne de cette manière -

df_fil.apply(lambda x : findCluster(cluster_all,x.reshape(1,-1)),axis=1)

Lorsque j'exécute ce code, j'obtiens un message d'avertissement disant: -

DataConversionWarning: les Données avec entrée dtype objet a été converti à float64.

avertissements.avertir(msg, DataConversionWarning)

Cet avertissement est imprimé une fois pour chaque ligne. Depuis, j'ai environ 450K lignes dans mon bloc de données, mon ordinateur se bloque lors de l'impression de tous ces messages d'avertissement que trop sur les ipython notebook.

Mais pour tester ma fonction que j'ai créé un mannequin dataframe et essayé d'appliquer la même fonction sur et il fonctionne bien. Voici le code pour qu' -

t = pd.DataFrame([[10.35,100.93,0.15],[10.35,100.93,0.15]])
t.apply(lambda x:findCluster(cluster_all,x.reshape(1,-1)),axis=1)

La sortie c'est -

   0  1  2
0  4  4  4
1  4  4  4

Quelqu'un peut-il suggérer ce que je fais mal ou que puis-je modifier à faire cette erreur?

Qu'est-ce que df_fil.info() ? Peut-être que certains de colonne n'est pas float.
Pouvez-vous l'ajouter comme une réponse. Cela a fonctionné! 🙂
Bien sûr, je l'ajouter à la réponse.

OriginalL'auteur dragster | 2016-08-29