Numpy

import numpy as np

#使用array()创建一个一位数组
arr = np.array([1,2,3])

#使用array()创建一个多维数组
arr = np.array([[1,2,3],[4,5,6]])

#数组和列表的区别是什么?
#数组中存储的数据元素类型必须是同一类型
#优先级:字符串>浮点型>整数

#创建元素都是0的数组
np.zeros(shape=(3,4))

#创建元素都是1的数组
np.ones(shape=(3,4))

#创建有范围的平均数组
#一维的等差数列数组
np.linspace(0,100,num=8)

#创建有范围的有step的数组
#一维的等差数列数组
np.arange(10,50,step=2)#一维的等差数列数组

#创建有范围的随机的整数数组
np.random.randint(0,100,size=(5,3))

#numpy的常用属性 shape、ndim、size、dtype
arr = np.random.randint(0,100,size=(5,6))

arr.shape#返回数组的形状

arr.ndim#返回数组的维度

arr.size#返回数组元素的个数

arr.dtype#返回数组元素的类型

#创建一个数组,指定数组元素类型为int32
arr = np.array([1,2,3],dtype = 'int32')

#修改数组元素类型
arr.dtype = 'uint8'

#numpy的索引和切片操作
#索引操作和列表同理
arr = np.random.randint(1,100,size=(5,6))

arr[1] #取出了numpy数组中的下标为1的行数据

arr[[1,3,4]] #取出多行

#切出arr数组的前两行的数据
arr[0:2] #arr[行切片]

#切出arr数组的前两列的数据
arr[:,0:2] #arr[行切片,列切片]

#切出arr数组的前两行前两列的数据
arr[0:2,0:2]

#将数组的行倒置
arr[::-1]

#将数组的列倒置
arr[:,::-1]

#将所有元素倒置
arr[::-1,::-1]

arr = np.random.randint(1,100,size=(5,6))
arr#是一个5行6列的二维数组

#将二维的数组变形成1维
arr.reshape((30,))

#将二维的数组变形成多维
arr.reshape((6,5))#6行5列

#将多个numpy数组进行横向或纵向的拼接
#axis=1行0列
#只能同一维度
#若数组维度一样,行列个数不一样,只有行列其中一个一样才能做横向或纵向拼接
np.concatenate((arr,arr),axis=1)
np.concatenate((arr,arr),axis=0)

#numpy聚合sum、max、min、mean
arr.sum()
arr.sum(axis=1)#列相加
arr.sum(axis=0)#行相加
arr.max()
arr.max(axis=1)
arr.min()
arr.min(axis=1)
arr.mean()
arr.mean(axis=1)

#数学函数
#三角函数:sin()、cos()、tan()
np.sin(arr)
#返回指定数字的四舍五入值,decimals:舍入的小数位数。默认值为0.如果为负,整数将四舍五入到小数点左侧的位置
np.around(3.84,0)
np.around(3.84,1)
np.around(3.84,-1)

#统计函数
np.amin(arr)#指定轴的最小值
np.amin(arr,0)
np.amax(arr)#指定轴的最大值
np.amax(arr,1)
np.ptp(arr)#指定轴的最大值-最小值
np.ptp(arr,0)
np.std(arr)#np.ptp(arr)#指定轴的标准差
arr.std()#第二种写法
np.std(arr,0)
arr.std(0)#第二种写法
np.median(arr)#指定轴的中位数
np.median(arr,0)
np.var(arr)#指定轴的方差
arr.var()#第二种写法
np.var(arr,0)
np.sqrt(arr)#指定轴的平方根

#矩阵相关
#产生一个3行3列的单位矩阵,从左上角到右下角的对角线上的元素均为1,除此以外都为0
np.eye(3)
#行列转置.T
arr.T

a1 = np.array([[2,1],[4,3]])
a2 = np.array([[1,2],[1,0]])
#矩阵相乘,第一个矩阵第一行的每个数字各自乘以第二个矩阵第一列对呀位置的数字,然后乘积相加
#(2*1+1*1)(2*2+1*0)
#(4*1+3*1)(4*2+3*0)
np.dot(a1,a2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值