python - x 和 y 必须具有相同的第一维,但具有 (2700,) 和 (200,) 形状
问题描述
我有一个 NumPy 数组 (2,4),我想将它向左旋转 90 度,然后我使用np.rot90
例如,如果我的数组是
x = [[5,6,7,8],
[1,2,3,4]]
当我旋转时,它将是
y = [[8,4],
[7,3],
[6,2],
[5,1]]
x
是 (2,4) NumPy 数组,y
将是 (4,2)
y = np.rot90(x)
但是当我运行这段代码时,我得到了这个失败
x and y must have the same first dimension, but have shapes (4,) and (2,)
解决方案
在计算上不是那么漂亮但工作:
import numpy as np
x = [[5,6,7,8],
[1,2,3,4]]
y = np.zeros((len(x[0]),len(x)), dtype = int)
for i,j,k in zip(x[0], x[1], range (0,len(x[0]))):
y[len(x[0])-1-k] = [i,j]
np.asmatrix(y)
print (y)
[[8 4],
[7 3],
[6 2],
[5 1]]
推荐阅读
- c# - AutoMapper 地图 ICollection
抛出异常 - c# - 在 C# 中的距离之间隐藏/显示
- javascript - 有没有办法获得所有可用的元素?
- nsis - NSIS 脚本 --- 创建自定义页面
- hook - helm rollback and upgrade - 钩子执行顺序
- css - 隐藏在模态后面的下拉菜单,使用 nz-zorro 无法点击
- arrays - 如何在 Google 表格中拆分和查找最后一个索引?
- javascript - Discord.js 无法使用 mySQL 在数组中找到项目时出错
- corda - 从 Corda 工作流调用外部 Java 服务
- javascript - 如何循环通过innerHtml?