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

此函数将一个缓冲区解释为一维数组。将任何公开缓冲区接口的对象作为参数返回一个 ndrray

numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)

构造函数接受以下参数。

序号 参数与描述
1 buffer 任何暴露缓冲区接口的对象
2 dtype 返回的ndarray的数据类型。默认为float
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)

这里,构造函数使用以下参数。

序号 参数和描述
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.]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程