Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将ND数组合并为单个数组和列表_Python_Arrays_Numpy - Fatal编程技术网

Python 将ND数组合并为单个数组和列表

Python 将ND数组合并为单个数组和列表,python,arrays,numpy,Python,Arrays,Numpy,我得到的是: x = array([a, a, a, a, a, a], [b, b, b, b, b, b], [................], [z,z,z,z,z,z,z,z,]) 我正在寻找一种方法: 一,。如何将此数组转换为一维数组x=数组[a,a,a,a,a,a,b,b,b,b,…,z,z]和一维列表x=[a,a,a,a,a,b,b,b,…,z,z] 二,。计算这个数组的精确尺寸:我尝试了len(x[0])和len(

我得到的是:

x = array([a, a, a, a, a, a],
          [b, b, b, b, b, b],
          [................],
          [z,z,z,z,z,z,z,z,])
我正在寻找一种方法:

一,。如何将此数组转换为一维数组x=数组[a,a,a,a,a,a,b,b,b,b,…,z,z]和一维列表x=[a,a,a,a,a,b,b,b,…,z,z]

二,。计算这个数组的精确尺寸:我尝试了len(x[0])和len(x)来获得这两个维度的坐标,但这种方法似乎有点老土。是否有任何内置函数来获取数组的维度

注意:有些数组值是正整数,有些是浮点数,有些是负浮点数,有些是负整数


非常感谢。

将阵列合并到新阵列中:

newArray = array()
for y in x
  newArray += y
查找长度:

len(newArray)

将阵列合并到新阵列中:

newArray = array()
for y in x
  newArray += y
查找长度:

len(newArray)

要从ND数组创建1D数组,请使用
ndarray.flatte()

要从中获取列表,请使用
ndarray.tolist()

要获取数组的维数,请使用
ndarray.shape

print x.shape
(4, 6)

要从ND数组创建1D数组,请使用
ndarray.flatte()

要从中获取列表,请使用
ndarray.tolist()

要获取数组的维数,请使用
ndarray.shape

print x.shape
(4, 6)

我使用
np.ravel
完成此任务。
如果您希望以这种方式输出,只需调用列表构造函数。
.shape
将分别为您提供行数和列数,但您实际上不需要知道它们

>>> import numpy as np
>>> a = np.random.random_integers(0, 9, (3, 4))
>>> a.shape
(3, 4)
>>> print a
[[9 5 1 8]
 [3 1 3 1]
 [3 9 6 6]]
>>> a.ravel()
array([9, 5, 1, 8, 3, 1, 3, 1, 3, 9, 6, 6])
>>> list(a.ravel())
[9, 5, 1, 8, 3, 1, 3, 1, 3, 9, 6, 6]

我使用
np.ravel
完成此任务。
如果您希望以这种方式输出,只需调用列表构造函数。
.shape
将分别为您提供行数和列数,但您实际上不需要知道它们

>>> import numpy as np
>>> a = np.random.random_integers(0, 9, (3, 4))
>>> a.shape
(3, 4)
>>> print a
[[9 5 1 8]
 [3 1 3 1]
 [3 9 6 6]]
>>> a.ravel()
array([9, 5, 1, 8, 3, 1, 3, 1, 3, 9, 6, 6])
>>> list(a.ravel())
[9, 5, 1, 8, 3, 1, 3, 1, 3, 9, 6, 6]
  • 要将二维数组转换为一维数组,可以使用
    np.ravel(a)
    。如果要在适当的位置执行此操作,还可以使用
    a.shape=-1
    a.flatten
    方法将返回初始数组的副本,这是浪费
  • 要将1D数组转换为列表,可以使用
    list(a)
    a.tolist()
    。要将2D数组转换为平面列表,最简单的方法是
    list(a.flat)
    .flat
    返回一个“平面”迭代器)。请注意,在二维数组上使用
    a.tolist
    将为您提供一个列表,而使用
    list(a)
    将为您提供一个数组列表
  • 使用
    a.shape
    获取每个维度上
    a
    的大小,作为一个元组,包含与维度一样多的元素。请注意
    len(a)==a.shape[0]
    。在二维数组中,
    len(a[0])=a.shape[1]
      • 要将二维数组转换为一维数组,可以使用
        np.ravel(a)
        。如果要在适当的位置执行此操作,还可以使用
        a.shape=-1
        a.flatten
        方法将返回初始数组的副本,这是浪费
      • 要将1D数组转换为列表,可以使用
        list(a)
        a.tolist()
        。要将2D数组转换为平面列表,最简单的方法是
        list(a.flat)
        .flat
        返回一个“平面”迭代器)。请注意,在二维数组上使用
        a.tolist
        将为您提供一个列表,而使用
        list(a)
        将为您提供一个数组列表
      • 使用
        a.shape
        获取每个维度上
        a
        的大小,作为一个元组,包含与维度一样多的元素。请注意
        len(a)==a.shape[0]
        。在二维数组中,
        len(a[0])=a.shape[1]

      要创建一维阵列,请使用
      ndarray.flatte()
      Gabitsh和Vorticity:这两种方法都不起作用。我想得到一个像array[a,a,a,a,…z,z,z]这样的数组,其中没有任何对象或元组。只是一个序列化的列表。你们指定的方法不会发生这种情况。要创建1D数组,请使用
      ndarray.flatte()
      Gabizish和Vorticity:这两种方法都不起作用。我想得到一个像array[a,a,a,a,…z,z,z]这样的数组,其中没有任何对象或元组。只是一个序列化的列表。对于1D列表,您可能需要
      x.flatte().tolist()
      使用flatte只需将每个元组分配到单个数组中。我需要一个像x=[a,a,a,a…z,z,z]这样的数组,它将从多维数组到序列化格式的所有内容都列出:-(对于1D列表,您可能希望
      x.flatte().tolist()
      使用flatte只需将每个元组分配到一个数组中。我需要一个像x=[a,a,a…z,z,z]这样的数组,它将多维数组中的所有内容以序列化格式列出:-(这很有效!很好。我所要做的就是对文件进行一些修改并应用np.ravel()。我完成了。非常感谢。:-)还有
      .flat
      ,它只是一个迭代器,但对于这样的目的来说已经足够了。优点是
      .ravel()
      可能需要创建数据的副本。我相信这对您来说并不重要,但它可以是一个很好的功能。这很好!很好。我所要做的就是对文件进行一些修改并应用np.ravel()。我完成了。非常感谢。:-)还有
      .flat
      ,它只是一个迭代器,但对于这样的目的来说已经足够了。其优点是
      .ravel()
      可能需要创建数据的副本。我相信这对您来说并不重要,但它可以是一个很好的功能。