Numpy中矩阵的基本操作

Numpy

python及numpy的一系列安装环境省略…
numpy的介绍链接:https://numpy.org
直接代码配着注释操作,都是一些非常基础的操作。
更多学习可参考:https://www.runoob.com/numpy/numpy-tutorial.html

一、矩阵的创建

  Python提供了list容器,可以当作数组使用。但列表中的元素可以是任何类型数据,因此列表保存的是对象的指针。这就造成,要保存一个简单的列表[1, 2, 3, 4, 5],需要五个指针和五个整数对象。对于数值运算来说,这种结构显然不够高效。Python虽然也提供了array模块,但其只支持一维数组,不支持多维数组,也没有各种运算函数。因而不适合数值运算。NumPy的出现弥补了这些不足,所以NumPy中array的一个特点就是,数组中元素的类型必须一致。
  下面就是用NumPy中array()来创建的多维数组:

import numpy as np          # 导入numpy包
a = np.array([1, 2, 3])     # 输入一维矩阵,英文单词array意思为:阵列,矩阵的意思。所以方法array(),也就顾名思义了。
print(a)                    # 输出结果为:[1 2 3]

# 构造二维的矩阵。
b = np.array([[1, 2, 3],
             [4, 5, 6]])
print(b)
# 输出如下:
# [[1 2 3]
#  [4 5 6]]

# 构造三维矩阵:
c = np.array([[[1, 2, 3], [4, 5, 6]],
              [[7, 8, 9], [10, 11, 12]]])
print(c)
# 输出如下:
# [[[ 1  2  3]
#   [ 4  5  6]]
#  [[ 7  8  9]
#   [10 11 12]]]

总结:一维矩阵一层中括号,二维矩阵两层中括号,三维矩阵三层中括号,继续下去一样,输入几维矩阵就是几层中括号。常用的只是一维和二维。

二、矩阵属性查看及简单应用

1、矩阵属性查看

import numpy as np          # 导入numpy包
# 括号中输入一个二维矩阵。
array = np.array([[1, 2, 3],
                  [4, 5, 6],
                  [7, 8, 9]])
print(array)
# 输出结果如下:
# [[1 2 3]
#  [4 5 6]
#  [7 8 9]]
print(array.ndim)           # array.ndim查看矩阵的维度。
# 输出结果:2
print(array.shape)          # array.shape查看矩阵的形状,返回几行几列的矩阵。
# 输出结果:(3,3)
print(array.size)           # array.size查看元素个数。
# 输出结果:9
print(array.dtype)          # array.dtype查看矩阵中元素类型。
# 输出结果:int32

注:numpy的这些属性与英语单词或单词缩写的意思都是保持一致的,有一定的英语基础会很容易记这些属性。

2、基本属性应用

import numpy as np          # 导入numpy包
# 输入一维矩阵,参数dtype=np.int32定义元素值的类型。
a = np.array([1, 2, 3], dtype=np.int32)
print(a.dtype)              # 返回:int32
print(a)                    # 返回:[1 2 3]

b = np.array([1, 2, 3], dtype=np.float)
print(b.dtype)              # 返回:float64
print(b)                    # 返回:[1. 2. 3.]
# 矩阵b与矩阵a相比较,返回的元素值都加了点,为浮点型数值。

# zeros()返回一个全为零的矩阵,参数(2, 3)表示矩阵规格为2行3列。
zero = np.zeros((2, 3))
print(zero)
# 返回结果:
# [[0. 0. 0.]
#  [0. 0. 0.]]

# ones()返回一个全为1的矩阵,参数(2, 4)同样表示矩阵规格,2行4列
one = np.ones((2, 4))
print(one)
# 返回结果如下:
# [[1. 1. 1. 1.]
#  [1. 1. 1. 1.]]

# empty()返回一个空矩阵,参数(2, 3)同样表示矩阵规格。
empty = np.empty((2, 3))
print(empty)
# 返回结果:
# [[0. 0. 0.]
#  [0. 0. 0.]]

注:与zeros()不同,zeros矩阵中,每个数值都是0。比如:用5除以矩阵中数值会报错的那种。empty()虽然返回矩阵每个数值也都是0,但用一个数除以矩阵中的0不会报错。

3、生成矩阵

两种方式生成ndarray矩阵:
  (1)numpy.arange(start, stop, step, dtype = None)
参数:

  • start 开始位置,数字,可选项,默认起始值为0。
  • stop 停止位置,数字。
  • step 步长,数字,可选项, 默认步长为1,如果指定了step,则还必须给出start。
  • dtype 输出数组的类型。 如果未给出dtype,则从其他输入参数推断数据类型。

numpy中的arange()属性与python中的range()很像,具体如下:

import numpy as np          # 导入num
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值