下面是3个numpy数组,其中包含一些数字:
import numpy as np
arr_a = np.array([[0.1, 0.2, 0.3, 0.4],
[0.2, 0.3, 0.4, 0.5],
[0.3, 0.4, 0.5, 0.6],
[0.4, 0.5, 0.6, 0.7],
[0.5, 0.6, 0.7, 0.8],
[0.6, 0.7, 0.8, 0.9]])
arr_b = np.array([[0.15, 0.25, 0.35, 0.45],
[0.35, 0.45, 0.55, 0.65],
[0.55, 0.65, 0.75, 0.85],
[0.75, 0.85, 0.95, 1.05],
[0.95, 1.05, 1.15, 1.25],
[1.15, 1.25, 1.35, 1.45]])
arr_c = np.array([[0.3, 0.6, 0.9, 1.2],
[0.6, 0.9, 1.2, 1.5],
[0.9, 1.2, 1.5, 1.8],
[1.2, 1.5, 1.8, 2.1],
[1.5, 1.8, 2.1, 2.4],
[1.8, 2.1, 2.4, 2.7]])
每个阵列具有(6,4)的形状。其中行=人并且列=时间(秒),考虑每行表示唯一的人并且每列表示与该人在该特定时刻相关联的加速度。
我想创建一个名为calc_acc_change
的函数,它根据给定的滞后值计算加速度的变化。我希望这个函数接受一个数组和一个滞后值(默认值=2),它满足以下公式:acc_change(t) = acc(t) - acc(t- lag)
,其中t=时间。我希望输出仍然是一个数组。
我已经开始我的函数如下,但我不知道如何完成它:
def calc_acc_change(array, lag=2):
...
return acc_change
为了测试函数是否工作,请将arr_a
,arr_b
和arr_c
输入函数并打印输出。
任何帮助都非常感谢:)
1条答案
按热度按时间bxgwgixi1#
根据给定的延迟对输入数组进行切片,然后减去切片后的数组。