从零开始学习NumPy创建数组

  • Post author:
  • Post category:其他




NumPy创建数组



1. 从Python列表创建一维数组

  1. 引入numpy,并且取名字为np


    import numpy as np
  2. 用 np.array 从 Python 列表创建数组
import numpy as np
a = np.array([1, 4, 2, 5, 3])
print("a数组为",a)

输出为

a数组为 [1 4 2 5 3]
  1. 不同于Python列表,NumPy要求数组必须为同一数据类型。如果类型不匹配,NumPy将会向上转换,将整型被转换为浮点型。如下列程序,b数组的第一个元素为浮点型
import numpy as np
# 用 np.array 从 Python 列表创建数组
a = np.array([1, 4, 2, 5, 3])
b = np.array([1.0, 4, 2, 5, 3])
print("a数组为", a)
print("b数组为", b)

输出为

a数组为 [1 4 2 5 3]
b数组为 [1. 4. 2. 5. 3.]

b数组元素自动转化为浮点型

  1. 可以用 dtype 关键字设置数组的数据类型
import numpy as np
# 用 np.array 从 Python 列表创建数组
a = np.array([1, 4, 2, 5, 3])
b = np.array([1.0, 4, 2, 5, 3])
# 明确设置数组的数据类型,可以用 dtype 关键字
c = np.array([1, 2, 3, 4], dtype="float32")
print("a数组为", a)
print("b数组为", b)
print("c数组为", c)

输出为:

a数组为 [1 4 2 5 3]
b数组为 [1. 4. 2. 5. 3.]
c数组为 [1. 2. 3. 4.]

可见c数组元素每一个都设置为浮点类型

  1. 使用它的 shape 关键字,它是由N个非负整数组成的tuple (元组),可设置每个维度的大小
import numpy as np
d = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])
print(d.shape)

输出为3行3列的元组

(3, 3)



2. 从Python列表创建多维数组

用 np.array 从 Python 列表创建多维数组,如下创建一个3*3的数组

import numpy as np
a = np.array([1, 4, 2, 5, 3])
d = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])
print("a数组为", a)
print("d数组为\n", d)

输出为:

a数组为 [1 4 2 5 3]
d数组为
 [[1 2 3]
 [4 5 6]
 [7 8 9]]



3. 从头创建数组

  1. 创建一个长度为5的数组,数组的值都是0,类型为整型
import numpy as np
a = np.zeros(5, dtype=int)
print(a)

输出为

[0 0 0 0 0]
  1. 创建一个2×3的浮点型数组,数组的值都是1
import numpy as np
b = np.ones((2, 3), dtype="int32")
print(b)

输出为

[[1 1 1]
 [1 1 1]]
  1. 创建一个2×3的浮点型数组,数组的值都是2.3
import numpy as np
full((2, 3), 2.3)
print(c)

输出为

[[2.3 2.3 2.3]
 [2.3 2.3 2.3]]
  1. 创建从0到20(不包括20),步长为2的数组
import numpy as np
d = np.arange(0, 20, 2)
print(d)

输出为

[ 0  2  4  6  8 10 12 14 16 18]
  1. 创建一个5个元素的数组,这5个数均匀地分配到0~20
import numpy as np
e = np.linspace(0, 20, 5)
print(e)

输出为

[ 0.  5. 10. 15. 20.]
  1. 创建一个3×3的、[0, 10)区间的随机整型数组
import numpy as np
f = np.random.randint(0, 10, (3, 3))
print(f)

输出为

[[1 8 9]
 [0 4 6]
 [1 0 8]]
  1. 创建一个3×3的单位矩阵
import numpy as np
g = np.eye(3)
print(g)

输出为

[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]
  1. 创建4个整数组成的未初始化的数组,数组的值是内存空间中的任意值
import numpy as np
h = np.empty(4)
print(h)

输出为

 [5. 10. 15. 20.]



版权声明:本文为weixin_48466256原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。