Py学习  »  Python

使用python中的一组数据执行数学运算

Romulo • 6 年前 • 1745 次点击  

给出一个数字表
如:

data = [30.5, 31.01, 30.4, 30.01, 29.5, 29.6, 29.63, 30.5, 30.33, 30.2]

我需要创建一个函数,从第一个元素中减去第二个元素,从第二个元素中减去第三个元素,依此类推,直到使用组中的所有元素完成操作

(Eg: 31.01 - 30.5, 30.4 - 31.01......) 
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49867
文章 [ 2 ]  |  最新文章 6 年前
Simon
Reply   •   1 楼
Simon    6 年前

你标记了 pandas ,所以这里有一个简单的解决方案 shift() :

data = [30.5, 31.01, 30.4, 30.01, 29.5, 29.6, 29.63, 30.5, 30.33, 30.2]
data = pd.Series(data)
data - data.shift()

0     NaN
1    0.51
2   -0.61
3   -0.39
4   -0.51
5    0.10
6    0.03
7    0.87
8   -0.17
9   -0.13
Poojan
Reply   •   2 楼
Poojan    6 年前
  • 你可以用 zip 迭代两个列表。
  • 下面的代码将实现这一点。
data = [30.5, 31.01, 30.4, 30.01, 29.5, 29.6, 29.63, 30.5, 30.33, 30.2]
print([y-x for x,y in zip(data, data[1:])])
  • 输出
[0.5100000000000016, -0.610000000000003, -0.389999999999997, -0.5100000000000016, 0.10000000000000142, 0.029999999999997584, 0.870000000000001, -0.1700000000000017, -0.129999999999999]