Python 机器学习入门---numpy的使用(一)

Python 机器学习入门—numpy的使用(一)

看[莫烦]的视频整理的学习笔记



一、numpy是什么?

numpy作为python一个外部输入的模块,用于处理数据,他的写法有点像python里的list,但是list中可以存入不同类型的数据,是因为list不仅存数,还存地址,但是numpy中的array中只存同类型的数,处理更快。

二、一些基本函数

1.用array建立矩阵

np.array#建立矩阵,与list不同在输出无逗号分隔
a.ndim #维度
a.shape#形状
a.size #有几个数
import numpy as np
a = np.array([[1,2,3],
              [2,3,4]])
print(a)
print('number of dim:',a.ndim) #维度
print('shape:',a.shape)        #形状
print('size:',a.size)          #有几个数

运行结果如图

2.建立零矩阵 zeros()

需要注意zeros((x,y)) 两个括号

import numpy as np
a = np.zeros((3,4))
print(a)

3.建立全1矩阵 ones()

import numpy as np
a = np.ones((3,4))
print(a)

4. 几乎接近0的矩 empty()

矩中的每个数不是0,但是非常接近0

import numpy as np
a = np.empty((3,4))
print(a)

5.生成序列的矩 arange()

单括号,然后可以通过reshape函数赋予形状

#arange(起点,终点,步长)
import numpy as np
a = np.arange(12).reshape((3,4))
print(a)

6.生成线段 linspace()

其中段数是自己均分的,当然也可以再更改形状

#linspacce(起点,终点,段数)
import numpy as np
a = np.linspace(0,10,5)
print(a)

三、numpy的基本运算

首先先定义两个矩阵在前面

import numpy as np
a = np.array([10,20,30,40])
b = np.arange(4)
print(a,b)

1.减 ‘-’

print(a-b)

2.加 ‘+’

print(a+b)

3.乘 ‘*’

print(a*b) #逐个相乘
print(a.dot(b))#矩阵相乘  或者写np.dot(a,b)

4.次方 ‘**’

这是python中的次方运算,与其他语言有所区别
eg:a的平方------a**2

5.三角函数

c = np.sin(a)  //  np.cos(a)
print(a)

6.判断元素的大小

print(a<25)
#返回的是布尔值

7.随机矩阵 random.random(( ))

c = np.random.random((3,4))
print(c)

8.求矩阵的和、最大值、最小值

print(a.sun())   #或 np.sum(a)
print(a.min())
print(a.max())

还可以但对针对列或者行求sum、min、max

print(np.sun(a,axis=1))  #axis=1/0,1:行,0:列

注意区分0/1所代表是列/行
在这里插入图片描述

9.索引矩阵中的最小值、最大值、中位数

import numpy as np
A = np.arange(12).reshape((3,4))
print(A)
print(np.argmin(A))   #或print(A.argmin()) 最小值
#最大值argmax
#中位数median

10.矩阵所有数据的平均值mean() average()

import numpy as np
A = np.arange(12).reshape((3, 4))
print(A)
print(A.mean())  #或 print(np.average(A))

11.矩阵所有数据的累加 cumsum()

A = np.arange(12).reshape((3, 4))
print(np.cumsum(A))

12.矩阵所有数据的逐步差 diff()

import numpy as np
A = np.arange(12).reshape((3, 4))
print(A)
print(np.diff(A))

用vscode的效果:
在这里插入图片描述

13.非零数所在的行列 nonzero()

import numpy as np
A = np.arange(12).reshape((3, 4))
print(A)
print(np.nonzero(A))

在这里插入图片描述
输出结果如上,因为它的输出是非零数所在的行列位置
第一个红色框部分即代表行位置,蓝色框代表列位置,所以推出第一个非零数在(0,1)

14.逐行排序 sort()

import numpy as np
A = np.arange(14,2,-1).reshape((3, 4))
print(A)
print(np.sort(A))

在这里插入图片描述
结果如图,他对每行进行从小到大的排序

15.矩阵的转置 transpose()

用于矩阵的相乘运算中。
或者是用到A.T ----- A的转置

16.截取矩阵 clip()

clip(矩阵,所有小于x的都等于x,所有大于y的都等于y)
具体说明:
clip(A,5,9)
意思是:将矩阵A中小于5的数都变为5,所有大于9的数变为9,其他数保持不变

import numpy as np
A = np.arange(12).reshape((3, 4))
print(A)
print(np.clip(A, 5, 9))

运行效果如下:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值