Obtenir cette erreur pour quelque chose qui semble simple. L'aide serait appréciée.
finaltbl est un pandas df avec col1prelim, col2prelim et col3prelim, qui ont des valeurs comprises entre 0 et 1 au format float. P>
for k, v in coldict.items():
finaltbl.at[0, k] = 1
finaltbl.at[1, k] = (finaltbl.loc[0, v] + finaltbl.loc[1, v])/2
3 Réponses :
Lorsque vous effectuez numpy.Mean () sur ces valeurs, le résultat est stocké dans le type Numpy Numpy.Fly.Fly Numpy, qui ne peut pas être utilisé comme indexeur. Vous devez lancer votre variable et entier. p>
Pour les valeurs scalaires, INT () est une bonne-quelle est votre cas. Pour Float64 Ndarrays, vous devez utiliser la méthode de Numpy's ASTYPE (). P>
Il n'y a rien qu'il a besoin de voter comme entier. Il a plutôt besoin de transmettre les arguments corrects à np.mean code>.
Faire un petit Dataframe: Essayez d'utiliser moyenne code> comme vous le faites, affichant la traçabilité complète: p> In [22]: np.mean([df.loc[0,1],df.loc[1,1]])
Out[22]: 2.5
@hpaulj: TL; DR
NP.MEAN ne nécessite généralement qu'un argument. L'erreur causée par la saisie p> sera éliminée si vous mettez les 2 arguments dans un seul tableau en utilisant des crochets p>