我有一个矩阵,例如。
[[4,5,0,0,0],
[5,1,2,1,0],
[0,2,3,2,0],
[0,1,2,1,0],
[0,0,0,0,0]]
Run Code Online (Sandbox Code Playgroud)
对于矩阵中的每个元素,我试图获得其相邻对角线元素的总和及其相邻的水平和垂直元素的总和。
以矩阵中间的 3 为例,我试图计算对角相邻元素(1)和水平和垂直相邻元素(2)的总和。对于角落和边缘情况,我想忽略没有元素的区域,例如(对于左上角的 4,我想得到对角相邻 1 的总和以及水平和垂直相邻的总和5 个。
在 python 中执行此操作的最有效方法是什么?
到目前为止,我想出了
diagonals = lambda x,y:[(x-1, y-1), (x-1,y+1), (x+1,y-1), (x+1,y+1)]
horiz_vert= lambda x,y:[(x,y+1), (x,y-1), (x+1,y), (x-1,y)]
Run Code Online (Sandbox Code Playgroud)
获取索引,但这些没有考虑边缘和角落情况。
我有一列充满了时间戳
例如。
col1
2017-01-01 10:30:00
2017-01-02 08:10:00
...
Run Code Online (Sandbox Code Playgroud)
我想按星期几分组,然后按一天中的小时进一步分组。
输出看起来像
day hour count
1 1 5
2 12
2 1 10
5 3
...
Run Code Online (Sandbox Code Playgroud)
我将如何在 SQL 中实现这个?我正在使用MySQL。