Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
二维数组中列值之间的差异(Python)_Python_Arrays - Fatal编程技术网

二维数组中列值之间的差异(Python)

二维数组中列值之间的差异(Python),python,arrays,Python,Arrays,嗨,我想写一个函数,它的输入是一个2D数组,就像列表一样。数组的前两列是ID号,但其余12列表示每个员工每月工作的小时数。我想找出每个员工每月的偏差,但是,我目前使用的代码有点不精确。它的输出是所有数字(包括ID)之间差异的单个列表。我试图让输出成为2D数组中每一行的列表,ID编号后接每月的偏差(第一个月始终为零,因为没有上个月可以减去它): 我的代码目前如下: def month_to_month(A): X = [] for i in range(len(A)): for j in

嗨,我想写一个函数,它的输入是一个2D数组,就像列表一样。数组的前两列是ID号,但其余12列表示每个员工每月工作的小时数。我想找出每个员工每月的偏差,但是,我目前使用的代码有点不精确。它的输出是所有数字(包括ID)之间差异的单个列表。我试图让输出成为2D数组中每一行的列表,ID编号后接每月的偏差(第一个月始终为零,因为没有上个月可以减去它):

我的代码目前如下:

def month_to_month(A):
X = []
for i in range(len(A)):
    for j in range(len(A[i])):
        X += [abs(A[i][j] - A[i][j-1])]
return X
函数首先遍历每一行,然后遍历每一列,找到列值之间的绝对差,并将这些值添加到列表X中。但是,我需要帮助改进此操作,其中仅减去每月值,输出将每个员工的数据作为单个列表返回,如上面的示例所示。我尝试使用递归减去连续的列值,但效果不太好。我真的很感谢任何意见

def month_to_month(self):
    A = [123, 34567, 50, 53, 49, 61, 48, 53, 61, 71, 60, 79, 81, 87] 
    B = A[-(len(A) - 2):]
    X = [A[0], A[1], 0]
    X.extend([abs(j-i) for i,j in zip(B, B[1:])])
    print(X)

在看到一个类似的问题后,我把这个答案放在了一起

你能发布一个包含输入和期望输出的示例吗?确保输入是一个列表:[[12334567,50,53,49,61,48,53,61,71,60,79,81,87],…],输出是[12334567,0,3,4,12,13,5,8,10,11,19,2,6]。因此,它保留了内部列表的前两个元素,但显示了每个剩余值之间的偏差
def month_to_month(self):
    A = [123, 34567, 50, 53, 49, 61, 48, 53, 61, 71, 60, 79, 81, 87] 
    B = A[-(len(A) - 2):]
    X = [A[0], A[1], 0]
    X.extend([abs(j-i) for i,j in zip(B, B[1:])])
    print(X)