现在我有一个numpy阵列:
[[ 0 9 18 27 36 45 54 63 72 81 90 99]
[ 108 117 126 135 144 153 162 171 180 189 198 207]
[ 216 225 234 243 252 261 270 279 288 297 306 315]
[ 324 333 342 351 360 369 378 387 396 405 414 423]
[ 432 441 450 459 468 477 486 495 504 513 522 531]
[ 540 549 558 567 576 585 594 603 612 621 630 639]
[ 648 657 666 675 684 693 702 711 720 729 738 747]
[ 756 765 774 783 792 801 810 819 828 837 846 855]
[ 864 873 882 891 900 909 918 927 936 945 954 963]
[ 972 981 990 999 1008 1017 1026 1035 1044 1053 1062 1071]
[1080 1089 1098 1107 1116 1125 1134 1143 1152 1161 1170 1179]
[1188 1197 1206 1215 1224 1233 1242 1251 1260 1269 1278 1287]]
我要做的是从每一列开始,第一个元素需要+0,第二个元素需要+1,第三个元素需要+2,第四个元素需要+3等等,所以前两行需要这样:
[[ 0 10 20 30 40 50 60 70 80 90 100 110]
[ 108 118 128 138 148 158 168 178 188 198 208 218]
我已经有了以下代码:
nw = [x for x in np.hsplit(array, array.shape[1])]
column = 0
upd = []
for x in nw:
x += column
column += 1
upd.append(x)
nw2 = np.reshape(upd,(12,12))
nw3 = np.hsplit(nw2,12)
nw4 = np.reshape(nw3,(12,12))
nw4
这正是我想要的结果。但问题是,我想在(我更喜欢)一行代码中更有效地完成它,而不需要for循环。但我被困在我怎么能做到这一点。所以我希望这里有人能帮我!你知道吗
只需使用
a+b
,其中b=arange(N)
,N
是列数。你知道吗相关问题 更多 >
编程相关推荐