来自现有数据的NumPy数组 NumPy数组创建例程 NumPy数组的范围 在本章中,我们将讨论如何从现有数据创建一个数组。 numpy.asarray 这个函数与numpy.array类似,只是它的参数较少。此例程对于将Python序列转换为ndarray很有用。 numpy.asarray(a, dtype = None, order = None) 构造函数采用以下参数。 序号 参数和说明 1 a 以任何形式输入数据,如列表,元组列表,元组列表,元组元组或元组元组 2 dtype 默认情况下,输入数据的数据类型应用于结果ndarray 3 order C(主要专业)或F(专业专业)。C是默认的 以下示例显示如何使用 asarray 函数。 例1 # convert list to ndarray import numpy as np x = [1,2,3] a = np.asarray(x) print a 其产出如下 - [1 2 3] 例2 # dtype is set import numpy as np x = [1,2,3] a = np.asarray(x, dtype = float) print a 现在,输出结果如下 - [ 1. 2. 3.] 例3 # ndarray from tuple import numpy as np x = (1,2,3) a = np.asarray(x) print a 其产出将是 - [1 2 3] 例4 # ndarray from list of tuples import numpy as np x = [(1,2,3),(4,5)] a = np.asarray(x) print a 在这里,输出如下 - [(1, 2, 3) (4, 5)] numpy.frombuffer 该函数将缓冲区解释为一维数组。公开缓冲区接口的任何对象都将用作返回 ndarray的 参数。 numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0) 构造函数采用以下参数。 Sr.No. 参数和说明 1 buffer 任何公开缓冲区接口的对象 2 dtype 返回的ndarray的数据类型。默认为浮动 3 count 要读取的项目数量,默认值-1表示所有数据 4 offset 读取的起始位置。缺省值是0 例 以下示例演示使用 frombuffer 函数。 import numpy as np s = 'Hello World' a = np.frombuffer(s, dtype = 'S1') print a 这是它的输出 - ['H' 'e' 'l' 'l' 'o' ' ' 'W' 'o' 'r' 'l' 'd'] numpy.fromiter 该函数从任何可迭代对象构建一个 ndarray 对象。这个函数返回一个新的一维数组。 numpy.fromiter(iterable, dtype, count = -1) 在这里,构造函数采用以下参数。 Sr.No. 参数和说明 1 iterable 任何可迭代的对象 2 dtype 结果数组的数据类型 3 count 要从迭代器读取的项目数量。默认值是-1,这意味着所有要读取的数据 以下示例显示如何使用内置的 range() 函数返回列表对象。这个列表的迭代器用于形成一个 ndarray 对象。 例1 # create list object using range function import numpy as np list = range(5) print list 其产出如下 - [0, 1, 2, 3, 4] 例2 # obtain iterator object from list import numpy as np list = range(5) it = iter(list) # use iterator to create ndarray x = np.fromiter(it, dtype = float) print x 现在,输出结果如下 - [0. 1. 2. 3. 4.] NumPy数组创建例程 NumPy数组的范围