【问题标题】:I have a list of numbers, and I want to take the difference between the current and previous value我有一个数字列表,我想取当前值和以前值之间的差
【发布时间】:2020-11-26 13:18:05
【问题描述】:

我有一个小数组,我想获取当前值和上一个值之间的差异,但我的数组以 1 开头。但我不希望出现 1 - 5。我希望数据集以原始值开始和结束:

x = np.array([1,2,3,4,5])


diff = list()
one_year = 1
for i in range(0,len(x)):
    value = x[i] - x[i - one_year] #subtract current year with year before
    #print(x[i-one_year])
    print(value)
    diff.append(value)

print(diff)

-4
1
1
1
1

我希望数据以 1 开头,而不是 -4。 如何解决这个 for 循环?

【问题讨论】:

    标签: python numpy jupyter


    【解决方案1】:

    你可以用这个:

    x = np.array([1,2,3,4,5])
    print(np.diff(x)) #==> 1, 1, 1, 1
    

    【讨论】:

      【解决方案2】:

      试试这个:

      import numpy as np
      
      x = np.array([1,2,3,4,5])
      
      diff = [1]
      one_year = 1
      for i in range(1,len(x)):
          value = x[i] - x[i - one_year] #subtract current year with year before
          #print(x[i-one_year])
          print(value)
          diff.append(value)
      
      print(diff)
      

      【讨论】:

      • 现在试试,我想你改变了问题中的参数
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-25
      • 1970-01-01
      相关资源
      最近更新 更多