【发布时间】:2017-01-02 02:53:08
【问题描述】:
我有这些向量:
a = [1,2,3,4]
b = [1,2,3,5]
我希望最后能有这个:
A = [ [1,0,0,0,0]
[0,1,0,0,0]
[0,0,1,0,0]
[0,0,0,1,0] ]
B = [ [1,0,0,0,0]
[0,1,0,0,0]
[0,0,1,0,0]
[0,0,0,0,1] ]
我一直以这种方式从 python 中使用 np.reshape:
A = np.reshape(a,(1,4,1))
B = np.reshape(b,(1,4,1))
它只是完成了部分工作,因为我得到了以下结果:
A = [[1]
[2]
[3]
[4]]
B = [[1]
[2]
[3]
[5]]
理想情况下,我想要这样的东西:
A = np.reshape(a,(1,4,(1,5))
但是在阅读文档时,这是不可能的。
提前感谢您的帮助
【问题讨论】:
-
你需要考虑到列表a中的每一项都是一个范围从max(a,b)的分类值
-
如果
a和b中的值假设基于0 的索引会更“pythonic”,所以0 是第一列。您有机会对您的代码进行这样的更改吗? (这不是必需的,但它会很好。它消除了解决方案中的减法 1。)
标签: python numpy reshape encoder