Python:timedelta64类型与浮点数的除法和乘法

时间:2012-03-31 15:22:56

标签: python multiplication

我很难将numpy数据类型timedelta64与浮点数相乘。

对于任务,我需要使用开普勒第二定律计算恒星的周期。有很多数据点,所以我希望python计算2个位置之间的区域,然后除以句点,使用以下代码:

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数据类型与float相乘......

在此先感谢并保持温和,我对stackoverflow和编程都很陌生:)

1 个答案:

答案 0 :(得分:1)

Time.tolist().total_seconds()

以浮动方式获得差异。