数据分析基础包-numpy学习

版权声明:个人原创,所属@jerry 本人 https://blog.csdn.net/qq_42938842/article/details/83757746

1,实数在计算机里没有对应表示,只能用浮点数无限接近,所以在处理和比较的时候要格外注意

 2,两数相减,当其结果小于一个极小的数值,我们就可以认为 该两数相等,这个极小的数值一般认为是0.1e-10

 0.1e-10 科学计数法,读做: 0.1*10的负10次方

对于矢量的理解:

既有方向也有大小,

计算矢量的长度(范数):

在这里我们将应用 numpy 来计算矢量的长度,首先下载

pip install numpy

下载好后,我们导入numpy库

import numpy as np

# 计算矢量x的长度
np.linalg.norm(x)

# linalg = line(线性)+algebra(代数) , norm则表示范数也就是长度

计算矢量的角度

d = np.arctan(3.0 / 3.0)
print(d)

将角度转化为弧度

np.deg2rad(d) 

# np.rad2deg(d) 将弧度转化为角度

 两点之间的距离 (欧几里得距离)计算,矢量相减

d1 = np.array([3, 5])
d2 = np.array([4, 2])
d3 = np.linalg.norm(d1 - d2)

numpy--求值小操作

# 在X 轴上生成20000个从-10000到10000的离散点
# 使用矢量计算直接生成多项式-3x**2+5x-6的所有计算结果 注意这里没有使用循环,一次计算了20000个结果

X = np.linspace(-10000, 10000, 20000)

Y = (X ** 2) * -3 + 5 * X - 6  ## 矢量运算,计算机会加速此类运算

print(Y.max())  # 获取当前矢量中的最大值

print(Y.argmax())  # 获取当前数组最大值对应的索引

np.mean()  # 平均值

np.argmax()  # 最大值下标

np.std()  # 标准差

np.min()  # 最小
'''
score = np.genfromtxt("./score.csv",delimiter=",")
score.sum(axis=0) # 0是按照列方向求和,算出所有课程的总成绩
score.sum(axis=1) # 1是按照行方向求和,算出所有学生的总成绩
score.sum()  # 所有学生所有课程的总成绩 
'''
# numpy的矩阵操作
a = np.array([1, 2, 3])
b = np.array([2, 3, 4])
a+b
#其结果为array([3, 5, 7])
a*b
#其结果为 array([ 2,  6, 12])
a.dot(b) # 点乘,相应元素相乘再相加
#其结果为a*b 再元素相加 结果是20

余弦相似度,向量的内积,对应元素相乘,再相加

余弦相似度,又称为余弦相似性,是通过计算两个向量的夹角余弦值来评估他们的相似度。余弦相似度将向量根据坐标值,绘制到向量空间中,如最常见的二维空间

见链接:https://baike.baidu.com/item/%E4%BD%99%E5%BC%A6%E7%9B%B8%E4%BC%BC%E5%BA%A6/17509249?fr=aladdin

猜你喜欢

转载自blog.csdn.net/qq_42938842/article/details/83757746
今日推荐