Numpy入门笔记

大家知道,我们正处于大数据、人工智能的热潮,python因为其学习成本低、使用灵活等特点成为了热门语言。Numpy作为一个强大的python模块,在数据分析、机器学习等情景有了很重要的应用。下面就跟着狗头的笔记来一起学习一下吧!

Numpy的安装

方法1:官网下载 找到Getting Started 就可以找到安装方法

方法2:使用pip直接安装

pip install numpy

基础知识

首先打开python

1.import Numpy 模块

import numpy as np # 命名为np (约定俗成)

2.矩阵

创建一个2X3的矩阵

matrix = np.array([ [1,2,3], [4,5,6] ])

定义矩阵的数值类型

np.array([77,88,99], dtype=np.int32)
np.array([77,88,99], dtype=np.int64) # 默认的int
np.array([77,88,99], dtype=np.float32)
np.array([77,88,99], dtype=np.float64) # 默认的float

创建一个3X3的矩阵元素全为0或1

np.zeros((3,3))
np.ones((3,3))
np.ones((3,3),dtype=np.int16) # 同样的也可以改变他的数值类型

(伪)空矩阵

np.empty((2,2))

生成有序数列

np.arange(5) # [0 1 2 3 4]
np.arange(3,8) # [3 4 5 6 7]
np.arange(2,10,2) # [2 4 6 8]

也可以指定序列元素的个数

np.linspace(1,10,5) # [1 3.25 5.5 7.75 10] 间隔9/4=2.25

由序列生成矩阵

# 将[0,1,2,3,4,5,6,7,8] 变成 3X3 的矩阵(按行排列)
np.arange(9).reshape((3,3))

3.查看属性

矩阵的维度

matrix.ndim

矩阵的形状

matrix.shape

矩阵的元素个数

matrix.size

矩阵的数值类型

matrix.type

判断元素大小

matrix < 3 # 返回True 或 False 的列表
matrix > 3
matrix == 3

元素求和

np.sum(matrix)
np.sum(matrix, axis=0) # 求每一行的和
np.sum(matrix, axis=1) # 求每一列的和

求最大或最小元素

np.max(matrix)
np.max(matrix, axis=0) # 求每一行的最大值
np.max(matrix, axis=1) # 求每一列的最大值
np.min(matrix)
np.min(matrix, axis=0) # 求每一行的最小值
np.min(matrix, axis=1) # 求每一列的最小值

求最大或最小值的索引

np.argmax(matrix)
np.argmin(matrix)
# 也可以指定行列,同上

求平均值、中位数、累加和、累计差

np.mean(matrix)
matrix.mean()
np.average(matrix)

np.median(matrix)

np.cumsum(matrix)
np.diff(matrix)

逐行排序

np.sort(matrix)

4.简单运算

加减法(对应位置元素相加减)

a = np.array([10, 20, 30, 40])
b = np.arange(4)
a + b
a - b

乘除法(对应位置元素相乘除)

a * b
a / b

每个元素取次方

b**2 # 平方
b**3 # 立方

三角函数

np.sin(a)
np.cos(a)
np.tan(a)

矩阵乘法

m1 = np.array([ [1,1], [0,1] ])
m2 = np.arange(4).reshape((2,2))
np.dot(m1,m2)
m1.dot(m2) # 两种方法一样

矩阵转置

np.tanspose(m1)
m1.T

矩阵裁切

np.clip(matrix,3,8)
#小于3的元素都变成3,大于8的元素都变成8

5.随机数

随机生成矩阵

np.random.seed(123)

np.random.random((2,4))
np.random.randint(8)
np.random.randint(4,10,size=6)

np.random.uniform() # 默认0到1的均匀分布
np.random.uniform(1,6)
numpy.random.normal(loc=0.0, scale=1.0, size=None)  # 正态分布随机

继续补充。。。。。。

猜你喜欢

转载自www.cnblogs.com/mrdoghead/p/11964092.html