Numpy基础语法(未完结)

Numpy基础

1 array属性

	numpy.array() #将列表转换为数组
	#例
	array = numpy.array([[1,2,3],[4,5,6]])
  • 获取数组的维度数(维度数其实就是看’['有多少个。没有:0维;一个:1维;两个:2维)
	#dim = 2
	dim = array.ndim 
  • 获取数组的行数列数
	#(2,3)
	numpy.array.shape
  • 获取数组的总元素个数
	numpy.array() #将列表转换为数组
	#size = 6
	size = array.size

2 array创建

import numpy as np
  • 创建数组时可以设置数组元素的类型 dtype
np.array([1,2], dtype=np.int)
  • 创建一个元素全为0的矩阵
np.zeros((2,2)) #1行2列的全0矩阵
'''
	输出结果:[[0. 0.],
			 [0. 0.]]	
'''
  • 创建一个元素全为1的矩阵
np.ones((2,2)) #1行2列的全0矩阵
'''
	输出结果:[[1 1],
			 [1 1]]	
'''
  • 生成有序数组
np.arange(10, 20, 2) #起始值,末尾值,步长  [10,20)
'''
	输出结果:[10,12,14,16,18] 不包括20
'''
  • 重新设置数组行列数
np.arange(10, 22, 2).reshape((2,3)) #起始值,末尾值,步长  [10,20)
'''
	输出结果:[[10,12,14,
			  16,18,20]]
'''
  • 设置数组个数,起始和末尾值自定义,中间数随机
np.linspace(1, 10, 5) #从1到10产生5个数,步长随机
'''
	输出结果:[1,*,*,*,10] 包括10
'''

3 基础运算

加减法就是array中的对应元素逐个相加减

python中的次方要用**而不是^

  • 乘法
c = a*b #这是array中对应元素逐个相乘

c = np.dot(a,b) #这是用矩阵乘法法则相乘
c = a.dot(b) #第二种写法
  • 三角函数
b = np.sin(a)
c = np.cos(a)
d = np.cos(a)
  • 随机生成(为什么有两次random?random模块下的random方法)
np.random.random((2,2)) #产生的数字均为0~1,传入参数为行列数
  • 找到矩阵中的最大值,最小值
np.max(array)
np.min(array)
  • 矩阵中所有元素求和
np.sum(array)

可以添加axis参数,求行或列的最大值、最小值和求和

np.sum(array, axis=1) #axis=1表示行,=0表示列
  • 求最小值、最大值的索引
np.argmin(array) #返回array中最小值的索引值
np.argmax(array) #返回array中最大值的索引值
  • 求array的平均值
np.mean(array) 
array.mean()
  • 求array的中位数
np.median(array) 
  • 求array的累计和
np.cumsum(array) 
  • 求array的临近两数的差
np.diff(array) 
  • 求array中非0的数的索引,前行后列
np.nonzero(array) 
  • 对array排序(逐行从小到大)
np.sort(array) 
  • 求转置矩阵
np.transpose(array) 
array.T
  • 将array中小于x的数变x,大于y的数变y
np.clip(array, x, y)

4 array合并

  • 将两个矩阵以vertical的形式合并成一个矩阵
A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.vstack(A,B)
'''
合并结果:
	[[1 1 1]
	 [2 2 2]]
'''
  • 将两个矩阵以horizontal的形式合并成一个矩阵
A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.hstack(A,B)
'''
合并结果:
	[[1 1 1 2 2 2]]
'''
  • 使用concatenate可以同时合并多个array
A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.concatenate((A,B,A,B),axis=0) # 0是纵向,1是横向
'''
合并结果:
	[[1 1 1
	  2 2 2
	  1 1 1
	  2 2 2]]
'''

5 array分割

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值