Python3之Numpy基础操作

Python3之Numpy基础操作

这是我总结的一些numpy知识点,若有错误和补充请指正,谢谢大家!

引入numpy库

import numpy as np

1.创建数组

a=np.array([[1,2],[2,3],[3,4]])
a为三行两列的数组

**行数与列数** 
print(a.shape)
输出结果:
(3,2)
**维度**
print(a.ndim)
输出结果
2
**元素个数**
print(a.size)
输出结果
6

创建3行3列0矩阵

b=np.zeros((3,3))
#结果
[[0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]

创建2行3列元素为1的矩阵

c=np.ones((2,3))
#结果
[[1. 1. 1.]
 [1. 1. 1.]]

创建单位矩阵

d=np.eye(5)
#结果
[[1. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0.]
 [0. 0. 1. 0. 0.]
 [0. 0. 0. 1. 0.]
 [0. 0. 0. 0. 1.]]

创建元素为随机数的数组

e=np.random.random((2,3))
#结果
[[0.90392552 0.59746743 0.29891424]
 [0.72513426 0.71411961 0.56008372]]

2.数组索引

关键:给每个维度切片
先创建a=np.array([[1,2,3],[4,5,6],[7,8,9]])

print(a[1][1])
#结果
5
print(a[0:3,1:2])#第1,2,3行第2列的值组成的数组
#结果
[[2]
 [5]
 [8]]
print(a[[0,1,2],[0,1,2]])
等价于
print(np.array([a[0,0],a[1,1],a[2,2]]))
#结果
[1 5 9]

3.数组运算

x=np.array([[1,2],[3,4],[5,6]])
y=np.array([[7,8],[9,10],[11,12]])

加法

print(x+y)
等价于
print(np.add(x,y))
| 1  2 |     | 7  8  |
| 3  4 |  +  | 9  10 |
| 5  6 |     | 11 12 |
#结果
[[ 8 10]
 [12 14]
 [16 18]]

减法

print(x-y)
等价于
print(np.subtract(x,y))
#结果
[[-6 -6]
 [-6 -6]
 [-6 -6]]

乘法

print(x*y)
等价于
print(np.multiply(x,y))
#结果
[[ 7 16]
 [27 40]
 [55 72]]

除法

print(x/y)
等价于
print(np.divide(x,y))
#结果
[[0.14285714 0.25      ]
 [0.33333333 0.4       ]
 [0.45454545 0.5       ]]

矩阵乘法

a=np.array([[1,2],[3,4],[5,6]])
b=np.array([[1,2,3],[4,5,6]])
| 1 2 |
| 3 4 | *| 1 2 3 |
| 5 6 |  | 4 5 6 |
#结果
[[ 9 12 15]
 [19 26 33]
 [29 40 51]]

向量內积

x=np.array([1,2,3])
y=np.array([4,5,6])
print(np.dot(a,b))
等价于
print(a.dot(b))
#结果
32

转置

print(a)
print(a.T)
#结果
[[1 2]
 [3 4]
 [5 6]]
[[1 3 5]
 [2 4 6]]
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值