我是python的新手,我不知道数据类型。
我希望输出格式为
[[ 0.3120883 ]
[ 0.36910208]
[ 0.99886361]
...,
[-0.10729821]
[ 0.08311962]
[ 1.67302086]]
但目前我的输出是表格
[-0.13562086 -0.11107482 0.1600553 ..., -0.3161786 -0.23419835
0.45029903]
如何转换?
答案 0 :(得分:5)
您可以numpy.reshape
将其(-1,1)
以您想要的格式获得结果。示例 -
narray = narray.reshape((-1,1))
演示 -
In [19]: import numpy as np
In [20]: narray = np.arange(10)
In [21]: narray
Out[21]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
In [22]: narray.reshape((-1,1))
Out[22]:
array([[0],
[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8],
[9]])
基本上你正在做的是将数组的形状从 - (n,)
改为(n,1)
,你可以使用reshape()
来实现这一点,你可以通过{{} 1}}作为参数之一。如文档中所述 -
-1
:整数的int或元组新形状应与原始形状兼容。如果是整数,则结果将是该长度的1-D数组。 一个形状尺寸可以是-1。在这种情况下,该值是从数组长度和剩余维度推断出来的。
答案 1 :(得分:2)
另一种方法是添加这样的新维度:
import numpy
a = numpy.arange(10)
a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
a[:,None]
array([[0],
[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8],
[9]])
a[None,:]
array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
我不记得是否不鼓励None
编制索引。