Numpy 从现有数据创建数组

2024年11月10日 Numpy 从现有数据创建数组 极客笔记

Numpy 从现有数据创建数组

NumPy 提供了一种通过使用现有数据来创建数组的方法。

numpy.asarray

该函数用于通过使用列表或元组的形式来创建数组。在需要将 Python 序列转换为 NumPy 数组对象的场景中,这个函数非常有用。

使用 asarray() 函数的语法如下所示。

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

它接受以下参数。

  1. sequence: 它是要转换为Python数组的Python序列。
  2. dtype: 它是数组每个项目的数据类型。
  3. 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)

输出:

<class 'numpy.ndarray'>
[1 2 3 4 5 6 7]

示例:使用元组创建 numpy 数组

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

输出:

<class 'numpy.ndarray'>
[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)

输出:

<class 'numpy.ndarray'>
[list([1, 2, 3, 4, 5, 6, 7]) list([8, 9])]

numpy.frombuffer

此函数用于通过使用特定的缓冲区来创建数组。使用该缓冲区的语法如下所示。

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

它接受以下参数。

  • buffer: 它表示一个暴露缓冲区接口的对象。
  • dtype: 它表示返回的数据类型数组的数据类型。默认值为0。
  • count: 它表示返回的ndarray的长度。默认值为-1。
  • offset: 它表示从哪个位置开始读取。默认值为0。

示例

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

输出:

<class 'bytes'>
[b'h' b'e' b'l' b'l' b'o' b' ' b'w' b'o' b'r' b'l' b'd']
<class 'numpy.ndarray'>

numpy.fromiter

这个函数用于通过使用可迭代对象创建一个ndarray数组。它返回一个一维的ndarray对象。

语法如下。

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

它接受以下参数。

  1. Iterable: 表示可迭代对象。
  2. dtype: 表示结果数组项的数据类型。
  3. 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.]
<class 'numpy.ndarray'>

本文链接:http://so.lmcjl.com/news/17485/

展开阅读全文