Python: деление и умножение типа timedelta64 с плавающей точкой - PullRequest
0 голосов
/ 31 марта 2012

У меня возникают трудности при умножении числового типа данных timedelta64 на числа с плавающей точкой.

Для задачи мне нужно вычислить период звезды, используя второй закон Кеплера. Точек данных много, поэтому я хочу, чтобы python вычислил площадь между двумя позициями и разделил ее на период, используя следующий код:

D = data['data']  
vect = D-c  #Data point minus center of ellipse
date = data['time'] #time for data point in np.timedelta64
Area_tot = np.pi*np.sqrt(chi[0])*np.sqrt(chi[1])  #total area of ellipse
P = np.array([])  
for i in range(1,len(D[0])):  
    Area = LA.norm(np.cross(vect[i],vect[i-1]))/2 #usie cross product to calculate area
    Time = date[i]-date[i-1]  
    P = np.append(P,(Area_tot/Area)*Time)

Однако при этом я получаю следующую ошибку:

TypeError: ufunc 'multiply' not supported for the input types, and the inputs could 
not be safely coerced to any supported types according to the casting rule 'safe'

Итак, мне интересно, как я могу умножить тип данных timedelta64 на число с плавающей запятой ...

Заранее спасибо и будьте осторожны, я довольно новичок и в стеке, и в программировании:)

1 Ответ

1 голос
/ 31 марта 2012
Time.tolist().total_seconds()

получает разницу как число с плавающей запятой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...