Numpy 简明教程

NumPy - Array From Existing Data

在本章中,我们将讨论如何从现有数据创建数组。

numpy.asarray

此函数与 numpy.array 类似,但参数更少。此例程可用于将 Python 序列转换为 ndarray。

numpy.asarray(a, dtype = None, order = None)

构造函数需要以下参数。

Sr.No.

Parameter & Description

1

a 任何形式的输入数据,例如列表、元组列表、元组、元组的元组或列表的元组

2

dtype 默认情况下,将输入数据的类型应用于结果 ndarray

3

order C(行优先)或 F(列优先)。C 是默认值

以下示例显示了如何使用 asarray 函数。

Example 1

# convert list to ndarray
import numpy as np

x = [1,2,3]
a = np.asarray(x)
print a

其输出如下所示 −

[1  2  3]

Example 2

# dtype is set
import numpy as np

x = [1,2,3]
a = np.asarray(x, dtype = float)
print a

现在,输出如下 −

[ 1.  2.  3.]

Example 3

# ndarray from tuple
import numpy as np

x = (1,2,3)
a = np.asarray(x)
print a

其输出将为 −

[1  2  3]

Example 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.

Parameter & Description

1

buffer 公开缓冲区接口的任何对象

2

dtype 返回ndarray的数据类型。默认为浮点型

3

count 要读取的项数,默认为-1,表示所有数据

4

offset 读取的起始位置。默认为0

Example

以下示例演示了 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.

Parameter & Description

1

iterable Any iterable object

2

dtype 结果数组的数据类型

3

count 从迭代器中读取的项数。默认为-1,表示读取所有数据

以下示例显示如何使用内置 range() 函数返回列表对象。此列表的迭代器用于形成 ndarray 对象。

Example 1

# create list object using range function
import numpy as np
list = range(5)
print list

它的输出如下:

[0,  1,  2,  3,  4]

Example 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.]