array - float64到array - ndarray

时间:2015-10-01 10:13:47

标签: python arrays numpy

我是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]

如何转换?

2 个答案:

答案 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编制索引。