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

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

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


文章目录

  • Python 机器学习入门---numpy的使用(一)
  • 一、numpy是什么?
  • 二、一些基本函数
    • 1.用array建立矩阵
    • 2.建立零矩阵 zeros()
    • 3.建立全1矩阵 ones()
    • 4. 几乎接近0的矩 empty()
    • 5.生成序列的矩 arange()
    • 6.生成线段 linspace()
  • 三、numpy的基本运算
    • 1.减 '-'
    • 2.加 '+'
    • 3.乘 '*'
    • 4.次方 '**'
    • 5.三角函数
    • 6.判断元素的大小
    • 7.随机矩阵 random.random(( ))
    • 8.求矩阵的和、最大值、最小值
    • 9.索引矩阵中的最小值、最大值、中位数
    • 10.矩阵所有数据的平均值mean() average()
    • 11.矩阵所有数据的累加 cumsum()
    • 12.矩阵所有数据的逐步差 diff()
    • 13.非零数所在的行列 nonzero()
    • 14.逐行排序 sort()
    • 15.矩阵的转置 transpose()
    • 16.截取矩阵 clip()


一、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)          #有几个数

运行结果如图Python 机器学习入门---numpy的使用(一)_第1张图片

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所代表是列/行
Python 机器学习入门---numpy的使用(一)_第2张图片

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的效果:
Python 机器学习入门---numpy的使用(一)_第3张图片

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

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

Python 机器学习入门---numpy的使用(一)_第4张图片
输出结果如上,因为它的输出是非零数所在的行列位置
第一个红色框部分即代表行位置,蓝色框代表列位置,所以推出第一个非零数在(0,1)

14.逐行排序 sort()

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

Python 机器学习入门---numpy的使用(一)_第5张图片
结果如图,他对每行进行从小到大的排序

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))

运行效果如下:
Python 机器学习入门---numpy的使用(一)_第6张图片

你可能感兴趣的:(python,机器学习,矩阵)