社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

Romulo • 5 年前 • 1454 次点击  

给出一个数字表
如:

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
 
1454 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Simon
Reply   •   1 楼
Simon    5 年前

你标记了 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    5 年前
  • 你可以用 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]