引言
本文作者接触NumPy模块时对其中的创建数组的方法一直都是一知半解的状态,有时候在做tensorflow搭建模块时经常会出现特别低级的数组构建错误,而且错误形式千奇百怪,今天终于决定系统地重写认识一下如何使用NumPy创建数组。
查询了很多文章和书籍,把查阅到的所有创建方式做一个总结,以便后面查阅。
文章目录
NumPy之创建数组
根据Python社区的习惯,可以以下面的方式导入NumPy模块
import numpy as np
生成数组
(1) 通过array函数生成数组
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
参数说明:
名称 | 描述 |
---|---|
object | 数组或嵌套的数列 |
dtype | 数组元素的数据类型,可选 |
copy | 对象是否需要复制,可选 |
order | 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认) |
subok | 默认返回一个与基类类型一致的数组 |
ndmin | 指定生成数组的最小维度 |
一般我们只需要指定object参数即可
a = np.array([1,2,3])
print(a)
[1 2 3]
a = np.array([[1,2],[2,3]]) # 注意方括号或圆括号是嵌套的
b = np.array(([1,2],[3,4]))
print(b)
print(a)
a = np.array([1,2],[2,3]) #错误
[[1 2]
[3 4]]
[[1 2]
[2 3]]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-8-31aeb3a66568> in <module>
3 print(b)
4 print(a)
----> 5 a = np.array([1,2],[2,3]) #错误
TypeError: data type not understood
## 注意object的形式上的区别导致结果的区别
a =np.array([1,2])
print(a)
a = np.array((1,2))
print(a)
a = np.array([(1,2),()])
print(a)
a = np.array([[1,2],[2]])
print(a)
a = np.array([[1,2],[2,3]])
print(a)
b = np.array([[1,2],[2,3],[3,4]])
print(b)