Python学习之——2d Numpy基本用法

Python学习之——2d Numpy基本用法

先引入相关的包:

import numpy as np 
import matplotlib.pyplot as plt

1. 创建一个2D的Numpy数组

  • 将一个list转化为一个Numpy数组
a = [[11, 12, 13], [21, 22, 23], [31, 32, 33]]
A = np.array(a)
A

输出:
array([[11, 12, 13],
[21, 22, 23],
[31, 32, 33]])

  • 使用ndim属性查看Numpy数组的维度数量
A.ndim

输出:
2
这里的2含义是:一个大list,里面会嵌套一层小list,共两层

  • 使用属性shape返回一个tuple,该tuple里的每一个数字,分别代表了每一个维度里面的元素数量
A.shape

输出:
(3, 3)

  • 使用size来获取Numpy array中所有元素的数量
A.size

输出:
9

2. 获取一个Numpy数组的不同元素的不同的方式

现有Numpy数组A:
在这里插入图片描述

2.1 获取某一个元素的两种方式

  • 使用一个中括号
A[1,2]

输出:
23

  • 使用两个中括号
A[1][2]

输出:
23

2.2 获取局部元素的两种方式

获取数组A第一行的前两列的数据

  • 使用两个中括号+slicing
A[0][0:2]

输出:

array([11, 12])

获取数组A的前两行的第三列的数据

  • 使用一个中括号+slicing的方式
A[0:2, 2]

输出:
array([13, 23])

3. Numpy数组的基本操作

3.1 Numpy数组的加法运算“+”

和矩阵的加法一致
在这里插入图片描述

X = np.array([[1, 0], [0, 1]]) 
Y = np.array([[2, 1], [1, 2]])
Z = X + Y
Z

输出:

array([[3, 1],
[1, 3]])

3.2 Numpy数组与一个常数相乘运算“*”

和矩阵与一个常数相乘的原理一致,即矩阵与一个常数相乘,那么矩阵中的每一个元素都扩大相应的倍数。

在这里插入图片描述

Y = np.array([[2, 1], [1, 2]]) 
Z = 2 * Y
Z

输出:

array([[4, 2],
[2, 4]])

3.3 Numpy数组之间的乘法运算——哈达玛积“*”

相当于矩阵的“点积运算”,即两个矩阵的对应位置的元素分别进行乘法。

在这里插入图片描述

X = np.array([[1, 0], [0, 1]])
Y = np.array([[2, 1], [1, 2]]) 
Z = X * Y
Z

输出:
array([[2, 0],
[0, 2]])

3.4 Numpy数组之间的乘法运算——相当于矩阵的乘法运算 “dot()方法”

Numpy数组的dot()方法相当于矩阵乘法的原理,即第一个矩阵的列数等于第二个矩阵的行数。

A = np.array([[0, 1, 1], [1, 0, 1]])
B = np.array([[1, 1], [1, 1], [-1, 1]])
Z = np.dot(A,B)
Z

输出:
array([[0, 2],
[0, 2]])

3.5 对Numpy数组里的每一个元素进行sin三角函数运算

下面代码中的Z就是array([[0, 2],
[0, 2]])

np.sin(Z)

array([[0. , 0.90929743],
[0. , 0.90929743]])

3.6 获取某一个Numpy数组的转置

通过调用Numpy数组的属性T来实现

C = np.array([[1,1],[2,2],[3,3]])
C.T

输出:

array([[1, 2, 3],
[1, 2, 3]])

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值