📜  已有数据创建NumPy数组

📅  最后修改于: 2020-10-27 02:17:54             🧑  作者: Mango

现有数据中的numpy数组

NumPy为我们提供了使用现有数据创建数组的方法。

numpy.asarray

该例程用于通过使用列表或元组形式的现有数据来创建数组。在需要将Python序列转换为numpy数组对象的情况下,此例程很有用。

下面给出了使用asarray()例程的语法。

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

它接受以下参数。

  • 序列:这是要转换为Python数组的Python序列。
  • dtype:它是数组每个项目的数据类型。
  • order:可以设置为C或F。默认值为C。

示例:使用列表创建numpy数组

import numpy as np
l=[1,2,3,4,5,6,7]
a = np.asarray(l);
print(type(a))
print(a)

输出:


[1 2 3 4 5 6 7]

示例:使用Tuple创建一个numpy数组

import numpy as np
l=(1,2,3,4,5,6,7)   
a = np.asarray(l);
print(type(a))
print(a)

输出:


[1 2 3 4 5 6 7]

示例:使用多个列表创建一个numpy数组

import numpy as np
l=[[1,2,3,4,5,6,7],[8,9]]
a = np.asarray(l);
print(type(a))
print(a)

输出:


[list([1, 2, 3, 4, 5, 6, 7]) list([8, 9])]

numpy.frombuffer

此函数用于通过使用指定的缓冲区来创建数组。下面给出了使用此缓冲区的语法。

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

它接受以下参数。

  • 缓冲区:它表示公开缓冲区接口的对象。
  • dtype:代表返回的数据类型数组的数据类型。默认值为0。
  • count:代表返回的ndarray的长度。默认值为-1。
  • 偏移量:代表读取的起始位置。默认值为0。

import numpy as np
l = b'hello world'
print(type(l))
a = np.frombuffer(l, dtype = "S1")
print(a)
print(type(a))

输出:


[b'h' b'e' b'l' b'l' b'o' b' ' b'w' b'o' b'r' b'l' b'd']

numpy.fromiter

此例程用于通过使用可迭代对象来创建ndarray。它返回一维ndarray对象。

语法如下。

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

它接受以下参数。

  • 可迭代:表示可迭代对象。
  • dtype:代表结果数组项的数据类型。
  • count:它表示要从数组缓冲区中读取的项目数。

import numpy as np
list = [0,2,4,6]
it = iter(list)
x = np.fromiter(it, dtype = float)
print(x)
print(type(x))

输出:

[0. 2. 4. 6.]