numpy -- 基础方法操作 array和asarray数据类型常用基础方法

numpy 基础知识

一、引入包

import numpy as np

二、基础方法

1. Array(数组)


  • rank:数组的维数 a.ndim # 返回维度
a = np.array([1,2,3])
  • type(a) #类型
  • a.shape#形状
  • a = a.reshape((-1,n))#其中-1代表的是3,转化形状
  • b = np.zeros((n,m)) #用于创建全为0的数组,其中n,m代表形状
  • c = np.ones((n,m)) # 用于创建全为1的数组
  • d = np.full((n,m),value) #value数组的数字
  • np.zeros([2,4]) #全为0的2×4数组
  • np.ones([3,5]) #全为1 的3×5数组

eye 单位矩阵

  • e = np.eye(m)# 单位矩阵

random:随机数

  • f =np.random.random((n,m))#创建0~1之间的数据数,形状的n×m矩阵

  • f = np.random.randn(n,m) #创建形状为n×m的随机矩阵,为正负小数

  • np.random.rand(2,4) #2行4列的0~1之间的随机数

  • np.random.rand(): # 产生一个随机数

  • randint:随机整数 np.random.randint(1,10,3) #0~10之间的随机数,生成3个

  • randn:生成符合标准正态分布的随机数 np.random.randn(2,4) #生成2行4列

  • choice:生成指定数组中的随机数 np.random.choice([10,20,30])# 每次生成给出数组中的一个数作为随机数

  • distribute:生成符合贝塔分布 np.random.beta(1,10,100)#1~10之间生成100个数

  • np.random.uniform(2,9,num),在2-9 之间生成num个随机数


2. 数组索引 indexing


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

给a的第二列每个数都加10,能够采用下边三种方法:

(1)a[np.arange(3),1] +=10

(2)a[np.arange(2),[1,1,1]] +=10

(3)a[[0,1,2],[1,1,1] +=10

对其中的数组进行操作:判断a中大于10 的数,两种方法

(1)result_index = a>10 #result_index 返回为true和false形式
b =a[result_index] #返回大于10的数,得到一个新的列表

(2) b =a[a>10] #直接得到大于10的数的新的列表


3.元素的数据类型:


  • a = np.array([1.1,1.2])
  • a.dtype #判断数组数据类型
  • a = np.array([1.1,1.2],dtype=np.int64) #可以将小数直接变为整数类型
  • a = np.array([1.1, 1.2])
  • b = np.array(a,btype=np.int64) ##b为a取整数部分

4.数据运算及常用函数


a = np.array([1,2],[3,4])
b = np.array([5,6],[7,8])

(1)a+b等同:np.add(a,b)
(2)a-b等同:np.subtract(a,b)
(3)a*b等同np.multipy(a,b)
(4)a/b等同np.divide(a,b)
(5)np.sqrt(a) #对a每个元素开方
(6)a.dot(b):矩阵之间的乘法操作 等同:np.dot(a,b)
(7)np.concatenate((lst1,lst2),axis=0) #lst1 和lst2合并一行
(8)np.vstack((lst1,lst2)) #lst1 ,lst2 合并成两行
(9)np.hstack((lst1,lst2)) #lst1,lst2 合并成一行
(10)np.split(lst1,4) #将lst1 分成4分
(11)np.copy(lst1)#复制lst1
lst=np.arange(1,11).reshape([2,-1])#生成1~11的数组,将其划分为2行5列
(12)np.exp(lst)#指数操作
(13)np.exp2(lst) #指数平方
(14)np.sqrt(lst) #平方
(15)np.sin(lst) #sin
(16)np.log(lst) #对数 底数是自然底数

lst1 =[1,2,3,4,5,6]
lst2 =[11,12,13,14,15,16]
lst3 = np.concatenate((lst1,lst2),axis=0)
print
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值