例如,我有一个带有 float 的列表
numbers = [1000.45,1002.98,1005.099,1007.987]
我想创建一个新列表,其中包含数字值的增量 - 即我希望 numbers[0]、[numbers[1] 之间的差值成为新列表中的第一个值。所以我新列表中的第一个数字应该是 2.53,第二个应该是 2.119,依此类推。
我尝试了列表理解
newnumbers= [i[-1] - i[-2] for i in numbers]
但它给出了一个 TypeError
TypeError: 'float' object is not subscriptable
我尝试将列表转换为整数,但它给出了相同类型的错误。
如何创建我想要的列表?
请您参考如下方法:
使用 Pandas 很容易,使用 diff():
import pandas as pd
pd.Series(numbers).diff()
0 NaN
1 2.530
2 2.119
3 2.888
dtype: float64
