Python: math.acos (x) для списка - PullRequest
0 голосов
/ 01 апреля 2020

Вот моя функция для применения обратного косинуса в моем списке

import math

ListAcos = lambda x: math.acos(float(x))

ListAcos(Mylist)

cannot convert the series to <class 'float'>

Мой список представляет собой серию, подобную следующей

ID
25      -0.239509
26      -0.274846
27      -0.316483
28      -0.330328
29      -0.266320

37371    0.628767
37372    0.687516
37373    0.700680
37374    0.731391
37375    0.693018
Length: 36223, dtype: float64

Кто-нибудь знает преобразование, которое я должен применить?

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Python не является numpy.

Стандартная библиотечная функция math.acos работает только со скаляром с плавающей запятой (ie одно значение). Вам нужно np.arccos для работы с массивом numpy:

np.arccos(MyList.values)

Или если вы хотите, чтобы результат был Series:

np.arccos(MyList)
0 голосов
/ 01 апреля 2020

IIU C вы можете использовать метод pandas.Series.apply для преобразования, так как вы можете вставить свою лямбда-функцию в метод:

MyList = MyList.apply(ListAcos)
...