Numpy 简明教程

NumPy - Array From Existing Data

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

In this chapter, we will discuss how to create an array from existing data.

numpy.asarray

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

This function is similar to numpy.array except for the fact that it has fewer parameters. This routine is useful for converting Python sequence into ndarray.

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

构造函数需要以下参数。

The constructor takes the following parameters.

Sr.No.

Parameter & Description

1

a Input data in any form such as list, list of tuples, tuples, tuple of tuples or tuple of lists

2

dtype By default, the data type of input data is applied to the resultant ndarray

3

order C (row major) or F (column major). C is default

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

The following examples show how you can use the asarray function.

Example 1

# convert list to ndarray
import numpy as np

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

其输出如下所示 −

Its output would be as follows −

[1  2  3]

Example 2

# dtype is set
import numpy as np

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

现在,输出如下 −

Now, the output would be as follows −

[ 1.  2.  3.]

Example 3

# ndarray from tuple
import numpy as np

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

其输出将为 −

Its output would be −

[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

在此处,输出如下 −

Here, the output would be as follows −

[(1, 2, 3) (4, 5)]

numpy.frombuffer

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

This function interprets a buffer as one-dimensional array. Any object that exposes the buffer interface is used as parameter to return an ndarray.

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

构造函数需要以下参数。

The constructor takes the following parameters.

Sr.No.

Parameter & Description

1

buffer Any object that exposes buffer interface

2

dtype Data type of returned ndarray. Defaults to float

3

count The number of items to read, default -1 means all data

4

offset The starting position to read from. Default is 0

Example

以下示例演示了 frombuffer 函数的使用。

The following examples demonstrate the use of frombuffer function.

import numpy as np
s = 'Hello World'
a = np.frombuffer(s, dtype = 'S1')
print a

以下是它的输出:

Here is its output −

['H'  'e'  'l'  'l'  'o'  ' '  'W'  'o'  'r'  'l'  'd']

numpy.fromiter

此函数从任何可迭代对象构建 ndarray 对象。此函数返回一个新的单维数组。

This function builds an ndarray object from any iterable object. A new one-dimensional array is returned by this function.

numpy.fromiter(iterable, dtype, count = -1)

此处,构造函数采用以下参数。

Here, the constructor takes the following parameters.

Sr.No.

Parameter & Description

1

iterable Any iterable object

2

dtype Data type of resultant array

3

count The number of items to be read from iterator. Default is -1 which means all data to be read

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

The following examples show how to use the built-in range() function to return a list object. An iterator of this list is used to form an ndarray object.

Example 1

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

它的输出如下:

Its output is as follows −

[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

现在,输出如下 −

Now, the output would be as follows −

[0.   1.   2.   3.   4.]