1.1 - numpy数组的属性和创建

1.1.1 numpy数组

  Numpy(Number Python)是Python进行科学计算的一个扩展库,提供了大量的函数和操作,主要用于对多维数组执行计算。

  Numpy数组中的每个元素都有相同的类型;并且数组大小是不可变的,修改数组大小将会创建新的数组。而python的列表类型list则会动态的扩展长度。

1.1.2 numpy数组的属性

  ndim      维度数
  shape      形状,每个维度的数量组成的元组
  size       数组中元素的个数
  dtype       数组元素的类型

  itemsize     数组元素的大小,以 字节 为单位

  对于数组的 ndim和shape 的形象理解:数组的最左侧,一个括号就代表一个维度,这个括号代表着:括号内可以包含一个或多个子数组,这个括号将这一个或多个子数组括起来就构成了一个维度。

  :当数组(如:[1,2])的维度为1的时候,其shape不能直接写 (2),而是要写成 (2,)!!!要保证这是一个元组

import numpy as np

x = np.array([[1], [2], [3]])
print(x.shape)

y = np.array([ [ [1,2] ] ])
print(y.shape)
print(y.size)
print(y.ndim)

z = np.array([3,2])
print(z.shape)
print(z.ndim)

1.1.3 numpy数组的创建和初始化

   1)array_like 类型的元素进行初始化

   2)调用np的数组初始化方法,如:单位矩阵,零数组,固定元素填充数组等。

   3)根据数值范围创建数组,如:np.linspace(), np.logspace() 

import numpy as np

# 初始化数组的三种方式

# 第一种:通过array_like类型的元素,如 list
l1 = [[1, 2], [3, 4]]
n1 = np.array(l1)
print(type(n1))

# 第二种:通过numpy中方法,设置数组填充元素形成数组,如:零数组,单位数组,空数组
n2 = np.empty([2,3], dtype=float)  # 创建一个指定类型的未初始化的数组
n3 = np.zeros((2,3), dtype=int)
n3_like = np.zeros_like(n2)  # 创建一个与n2形状相同的零数组
n4 = np.ones((2,3), dtype=int)
n4_like = np.ones_like(n3)  # 创建一个与n3形状相同的单位数组
n5 = np.full([2, 3], fill_value=3, dtype=int)
'''
    N:矩阵的行数
    M:矩阵的列数,如果确实,则列数与行数相同
    k:默认为0,表示单位矩阵;为正值表示主对角线相邻的上面一个斜行为1,其余为0;为负值表示主对角线相邻的下面一个斜行为1,其余为0.
dtype:矩阵元素类型
'''
n6 = np.eye(3, 3, k=0, dtype=int)  # 初始化一个单位矩阵:主对角线位置的元素为1,其余位置的元素为0
print(n6)

# 第三种:通过数值范围内的元素,随机生成一维数组,然后 reshape。
n7 = np.arange(0, 11, 2)  # 从 [0, 9),步长为2
n8 = np.linspace(3, 15, num=9, endpoint=True, dtype=int)  # 从 [3, 15],等间隔选取 num 个值
n9 = np.logspace(1, 2, base=10, num=4)  # 从[1, 2],等差选5个值,分别作为base的指数
print(n7.reshape((2, 3)))
print(n8.reshape((3, 3)))
print(n9.reshape((2,2)))

 

  

  

posted @ 2024-02-18 16:23  橘子葡萄火龙果  阅读(63)  评论(0)    收藏  举报