我有这样的数组:
[
[1, 0, 0, 0, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0, 0]
]
我想每3个数组计算一个值,所以我期望的结果是:
[
[3, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 3, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 2, 1, 0, 0, 0, 0, 0]
]
我不知道怎么循环。你知道吗
更新。。 这个问题解决了。非常感谢。我试试希吉的代码
if len(arr)%3==0:
print([[sum(y) for y in zip(arr[x],arr[x+1],arr[x+2])] for x in range(0, len(arr),3)])
尝试:
您可以这样在pandas中执行此操作(它将行拆分为3行,然后取每组行的总和):
输出:
对于纯非进口方式:
输出:
对于数组中的每三行,可以使用numpy.sum()沿axis=0。你知道吗
或者使用简单的列表理解
相关问题 更多 >
编程相关推荐