numpy的常用函数以及常规操作

numpy的常规函数

一:矩阵的常规操作函数

1 :np.arange()  生成向量

demo2 =np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])   # 一行向量   转化成矩阵形式
print(demo2.shape)
b =np.arange(1,16)   # 顾头不顾腚,头,尾巴,步长,输出数组类型
print(b)

生成了一个向量 ,有15个数据

image.png

2:object.reshape()   转化矩阵

a= demo2.reshape(3,5)   # 转化成矩阵 3行5列的数据

image.png

3:object.shape   查看矩阵行列数

print(a.shape)          #矩阵行列数

由图可知,我们得到了一个3行5列的数组

image.png

4:object.ndim  获取矩阵维度

print(a.ndim)            # 矩阵维度

image.png

5: object.dtype 获取矩阵数据类型

print(a.dtype)     # 矩阵数据类型

image.png

6: object.size 获取矩阵长度

print(a.size)      #矩阵长度

image.png

二: 构造矩阵的函数

1: np.zeros((,)) 0矩阵  

注意:传的是元祖的形式

demo3 =np.zeros((3,4))    #注意传的是元祖的形式
print(demo3)  # 结果值为float 类型

image.png

2:np.ones((,)) 1矩阵

注意:传的是元祖的形式

demo4 =np.ones((3,4),dtype=np.int32)   
print(demo4) 

image.png

3:np.random.random((,))  #随机数矩阵

demo5 =np.random.random((3,4))  # 注意传的是元祖 ,    随机取值
print(demo5)

image.png

4:np.linspace(头,定,数量)  # 平均数向量

demo6 =np.linspace(0,100,101,dtype=np.int32)  # 取平均值    :头 尾巴 总数    ,dttpye 数据类型
print(demo6)

image.png

三:numpy矩阵的计算

数据集

 

image.png

1:加法

1>:矩阵加一个数

a1 =a+1
print(a1)

image.png

2:>矩阵加一个矩阵

ab1 =a+b
print(ab1)  # 行列对应位置进行累加 

image.png

2:减法

和加法一样

3:乘法

1>: 矩阵乘数

b1= b*2
print(b1)  #即每个位置成那个数

image.png

2>:矩阵成矩阵

ab2 =a*b 
print(ab2)  # 矩阵行列索引位置上数字想乘

image.png

3:矩阵想成的内积

# 矩阵内积
ab3 =a.dot(b)
print(ab3)  # 矩阵内积成, 即 第一行乘第一列,第一行乘第二列,第二行成第一列,第二行乘第二列相加

image.png

4:除法

和乘法一样

5:判断

print(a>3)

image.png

6:矩阵的密次

print(np.exp(a))  # 成e次方

image.png

7:矩阵开平方

print(np.sqrt(a))  #开平方

image.png

四:矩阵的降维以及拼拆

1 :矩阵的降维

准备数据集

import numpy as np 
demo1 = np.floor(10*np.random.random((3,4)))   # 创建数据源随机数向下取整*10 

image.png

1:obj.ravel()  数据降维

print(demo1.ravel()) # 把数组转成向量

image.png

2:矩阵数据的转置

行转列,列转行

print(demo1.ravel()) # 把数组转成向量    

image.png

3矩阵的拼切

1:> 矩阵拼

准备数据源

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

按列接:

print(np.hstack((a,b)))  #  按列拼接 注意传的是元祖

image.png

按行接:

print(np.vstack((a,b)))  # 按行拼接 

image.png

2:>矩阵切

准备数据集

c =np.arange(0,18).reshape(3,6)  # 准备数据集

image.png

按列 切

 平均切

print(np.hsplit(c,3))  #按列平均切成3分

image.png

 索引切

print(np.hsplit(c,(3,4))) # 按照列索引刀切     

image.png

按照行切

print(np.vsplit(c.T,3)) # 按照行平均切

image.png

五: 矩阵的顺序及大小

1: 返回行数据最大索引

创建数据集

demo10 =np.sin(np.arange(20)).reshape(4,5)
print(demo10)
1:>demo10.argmax(axis=0)   #求数据行数据最大索引

image.png

2: 数据集扩展 np.tile(demoa,(3,5))

demoa =np.arange(0,40,10)  #创建数据集
print(demoa)
# 数据扩展
demoa1 =np.tile(demoa,(3,5))
print(demoa1)

image.png

3:排序

1:>返回数据排序 np.sort(a,axis=1)

创建数据集

a =np.array([[4,3,5],[1,2,1]])
print(a)

操作代码

np.sort(a,axis=1)  #行排序

image.png

2>:排序返回数据索引 np.argsort(a)

创建数据集

a =np.array([4,3,1,2])
print(a)

image.png

j=np.argsort(a)
print(j)  # 返回索引顺序
#在通过索引返回对应数据
print(a[j])

上面一行是索引顺序,下面一行是通过索引返回的数据

原文地址:https://www.cnblogs.com/baili-luoyun/p/13029816.html