Python - 从文件中求和的绝对值

时间:2017-12-29 14:00:51

标签: python numpy sum

如何计算Python中文本文件的和绝对值?

time = np.loadtxt("data.svc",delimiter=' ',skiprows=1, usecols=(2),unpack=True) 

for i in range(len(time)): 
sumTime = sum(abs(time[i]-time[i+1]))

我需要:(|time[0]-time[1]|)+(|time[1]-time[2]|)+(|time[2]-time[3]|)....

2 个答案:

答案 0 :(得分:1)

您想要列表生成器:

li = [abs(time[i-1] - t) for i, t in enumerate(time) if i > 0]
sum(li)

制作以第二个元素开头的当前元素和前一元素之间的差异列表(按索引1)。

答案 1 :(得分:1)

您可以简单地使用NumPy函数来获得所需的结果:

np.sum(np.abs(np.diff(time)))

即使np.diff计算差异time[i+1] - time[i](而不是time[i] - time[i+1]),这也会根据您所需的公式生效,因为您使用的是绝对值。

因为它在NumPy数组上使用NumPy函数,所以它可能比任何Python理解和/或函数快得多。