Python Day05

 一、N维数组-ndarry

import numpy as np
a=np.array([[1,2,3],[4,5,6]])
#打印形状
a.shape
#(2,3) np.shape(a)
#维度
a.ndim
#2
#元素数量
a.size
#6
#元素长度(字节)
a.itemsize
#4
#元素类型
a.dtype
#dtype('int32')
#去重
temp = np.array([[1, 2, 3, 4],[3, 4, 5, 6]])
 np.unique(temp)
array([1, 2, 3, 4, 5, 6]

  

 

 

 

二、基本操作

1.生成数组

特殊数组

#生成全1矩阵
a1=np.ones([4,8])
#生成全0矩阵
a2=np.zeros([4,8])
#参照a1生成全0矩阵
a3=np.zeros_like(a1)

 从现有数组生成数组:

array从现有数组中创建:深拷贝 array仍然会copy出一个副本,占用新的内存

asarry相当于索引,并没有创建新数组:浅拷贝

a=np.array([[1,2,3],[4,5,6]])
b=np.array(a)
c=np.asarray(a)
a[0,0]=100
#a:array([[100,   2,   3],
       [  4,   5,   6]])
#b:array([[1, 2, 3],
       [4, 5, 6]])
#c:array([[100,   2,   3],
       [  4,   5,   6]])

 生成固定范围数组

# 生成等间隔的数组  
#np.linspace (start, stop, num, endpoint)
#起始值,终止值,数量,是否包含stop(默认为TRUE)
np.linspace(0, 100, 11)
#生成等差数组 不包括stop 相当于range
np.arange(start,stop, step, dtype)
#生成等比数组
np.logspace(start,stop, num)

生成随机数组

np.random.random()生成一个0到1的随机浮点数:0<=n<1.0

np.random.uniform()左闭右开,随机数

np.random.randint()左闭右闭,随机取整生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n:a<=n<=b

2.ndarray运算

np.all()
np.any()
- np.max()
- np.min()
- np.median()
- np.mean()
- np.std()
- np.var()
- np.argmax(axis=) — 最大元素对应的下标
- np.argmin(axis=) — 最小元素对应的下标

3.数组间的计算

numpy 广播机制

 

 

 

 

 

 

广播机制的条件:对两个数组上进行运算时,NumPy会从最后一个维度开始,逐维度地比较它们的大小(不足的维度补1)。两个数组对应的维度需要满足两者相等其中一个为1才可以进行广播,否则会报错。且计算结果每一维的尺寸为A,B对应维度尺寸的最大者。 

4.矩阵计算

满足结合律不满足交换律

  • np.matmul

  • np.dot

  • 注意:二者都是矩阵乘法。 np.matmul中禁止矩阵与标量的乘法。 在矢量乘矢量的內积运算中,np.matmul与np.dot没有区别。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值