AttributeError: 'numpy.float64' objet n'a pas d'attribut "log10'

J'essaie de trouver le journal de la pente d'une tonne de courtes séries à l'aide de sklearn.LinearRegression. Les données sont extraites à partir des lignes de pandas dataframe et ressemble:

bp01    1.12
bp02    1.12
bp03    1.08
bp04    0.99
bp05    1.08
bp06    1.19
bp07    1.17
bp08    1.05
bp09     0.8
bp10    0.96
bp11    0.97
bp12    1.12
bp13    0.91
bp14    0.96
bp15    1.05
bp16    0.93
bp17    0.97
bp18    0.92
bp19    0.89
bp20       0
Name: 42029, dtype: object

Cependant, lorsque je tente de l'utiliser np.log10, sur la série, j'obtiens l'erreur suivante:

In[27]: test.apply(np.log10)
Traceback (most recent call last):

  File "<ipython-input-27-bccff3ed525b>", line 1, in <module>
    test.apply(np.log10)

  File "C:\location", line 2348, in apply
    return f(self)

AttributeError: 'numpy.float64' object has no attribute 'log10'

Je ne suis pas sûr pourquoi cette erreur est levée, np.log10 devrait travailler avec numpy.float64 de ce que je vois. Des idées?

  • Essayez ceci: test.apply(lambda x: np.log10(x))
  • test est un pd.série bien. Appliquer devrait passer chaque valeur de la série de la np.log10 commande si le droit?
  • Voir si cette question est un doublon.
  • Vous avez appelé une variable de type float np.
InformationsquelleAutor WolVes | 2017-11-09