numpy array TypeError:只有整数标量数组可以转换为标量索引

新手上路,请多包涵
i=np.arange(1,4,dtype=np.int)
a=np.arange(9).reshape(3,3)

a
>>>array([[0, 1, 2],
          [3, 4, 5],
          [6, 7, 8]])
a[:,0:1]
>>>array([[0],
          [3],
          [6]])
a[:,0:2]
>>>array([[0, 1],
          [3, 4],
          [6, 7]])
a[:,0:3]
>>>array([[0, 1, 2],
          [3, 4, 5],
          [6, 7, 8]])

现在我想对数组进行矢量化以将它们一起打印。我试试

a[:,0:i]

或者

a[:,0:i[:,None]]

它给出了 TypeError: only integer scalar arrays can be convert to a scalar index

原文由 kinder chen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 678
1 个回答

我在尝试使用 numpy.concatenate 来模拟 C++ 时遇到了问题,比如二维向量的回退;如果 A 和 B 是两个 2D numpy.arrays,则 numpy.concatenate(A,B) 会产生错误。

解决方法是简单地添加 缺少的括号:numpy.concatenate( ( A,B ) ),这是必需的,因为要连接的数组构成 单个 参数

原文由 user2961818 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题