机器学习必备——numpy的常用操作

微信公众号:龙跃十二
我是小玉,一个平平无奇的小天才!

往期numpy文章:
NumPy——输出向量和矩阵

简介:

NumPy是Python中科学计算的基础包。它提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。

常用操作:

1、判断某个值是否存在在指定的行和列

  • 返回一个布尔值。
# numpy判断某个值是否存在在指定的行和列,返回一个布尔值

# 也可以用返回的布尔值作为切片去查询
import numpy as np

vector = np.array([1,2,3,4])
#判断vector里边是否包含2
vector == 2
#判断matrix的第二列是否包含3
matrix = np.array([[1,2,3,4],[2,3,4,5],[3,4,5,6],[4,5,6,7]])
equal_to_3 = (matrix[:,1]==3)
print(equal_to_3)
#把matrix的第二行赋值给vector01
vector01 = matrix[equal_to_3,:]
print(vector01)

2、判断是否存在两个值&向量值的替换

用或(|)来表示向量中是否存在两个值。

import numpy as np

vector = np.array([1,2,3,4])
equal_to_2_and_3 = (vector == 2) | (vector == 3)
vector[equal_to_2_and_3] = 8
print(vector)

3、vector类型的转换

利用astype更改数据类型。

import numpy as np

vector = np.array([1.0,2.4,3.5,4.6])
print(vector.dtype)
print(vector)

vector02 = vector.astype(int)
print(vector02.dtype)
print(vector02)

4、打印矩阵的极值、平均数

调用max、min、mean来求矩阵的极值、平均数。

import numpy as np

vector = np.array([1,2,3,4])
print(vector.min())
print(vector.max())
print(vector.mean())

5、按行、列计算sum

import numpy as np

matrix = np.array([[1,2,3,4],[9,8,4,5],[3,4,5,6],[4,5,6,7]])
# 按行求和
matrix.sum(axis = 1)
# 按列求和
matrix.sum(axis = 0)

6、numpy中常用的一些函数

reshape
shape
ndim 计算维度
dtype 数据类型
size
zeros()初始化为0
random随机函数
import numpy as np

#产生一个0-14的整数向量,数据类型为int
print(np.arange(15,dtype = int))

#将上边的15个数据reshape成3行5列的数据
new_matrix = np.arange(15).reshape(3,5)
print(new_matrix)
#shape函数查看数据的行列数
print(new_matrix.shape)
#ndim查看数据的维度
print(new_matrix.ndim)
#dtype查看数据的类型
print(new_matrix.dtype)
#size查看数据的大小
print(new_matrix.size)

# 生成一个两行三列的零矩阵
# 以元组的格式()传入
zero = np.zeros((2,3))
print(zero)

# 生成一个两行三列的单位矩阵
# 三维单位矩阵
one = np.ones((2,3,4))
print(one)


# arange中从10 到50 每5加一次,小于50 不等于50 
print(np.arange(10,50,5))

#random产生2行3列的随机矩阵,取值在(-1,1)
np.random.random((2,3))

#linspace产生一个1到50之间的平均分布的五个数值。
np.linspace(1,50,5,dtype = int )

7、矩阵的计算:

矩阵之间的两种乘法:

import numpy as np

A = np.array([[2,3],[2,0]])
B = np.array([[2,0],[1,1]])

# 矩阵对应位置相乘
print(A*B)

# 矩阵之间的乘法
print(A.dot(B))
print(np.dot(A,B))

这些都是我们在做机器学习数据分析时候必备的数学技能,numpy的掌握可以很好的帮助我们处理一些数据,如果文章对你有帮助就给小玉一个赞👍吧!

最后呢,欢迎大家关注龙叔和小玉的公众号【龙跃十二】,持续更新干货,和你一起学习,共同成长。我是小玉,一个平平无奇的小天才!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值