代码之家  ›  专栏  ›  技术社区  ›  Tristan

将numpy.void转换为numpy.ndarray

  •  1
  • Tristan  · 技术社区  · 6 年前

    我用python加载了一个.csv文件 numpy.genfromtxt . 现在它返回一个一维 numpy.ndarray 在这个阵列中, numpy.void 实际上只是整数数组的对象。但是我想把这些从 无效的 numpy.array . 澄清:

    >>> print(train_data.shape)
    (42000,)
    >>> print(type(train_data[0]))
    <class 'numpy.void'>
    >>> print(train_data[0])
    (9, 0, 0)
    

    所以这里的数组(9,0,0)具有 无效的 应该是 编号数组 .

    如何转换所有值 train_data 成为核阵列?

    效率也有点重要,因为我正在处理大量数据。

    更多的代码

    >>> with open('filename.csv, 'rt') as raw_training_data:
    >>>     train_data = numpy.genfromtxt(raw_training_data, delimiter=',', names=True, dtype=numpy.integer)
    >>> print(train_data.dtype)
    [('label', '<i4'), ('pixel0', '<i4'), ('pixel1', '<i4')]
    >>> print(type(train_data))
    <class 'numpy.ndarray'>
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   samlli    6 年前

    使用 numpy.asarray() 方法,它将输入转换为数组。

    array=numpy.asarray(train_data[0])