当前位置:   article > 正文

Python中的numpy库_python numpy库

python numpy库

1.numpy库导入

import numpy as np
  • 1
'
运行

这里的np是我们在使用库时起的别名。

2.numpy库中常用的内置函数

序号方法名说明
1dot()点积运算(向量或矩阵乘法)
2zreos(shape, dtype)shape:创建的新数组的形状(维度)dtype:创建新数组的数据类型。
3sum()数组求和
4max()、min()求最大最小值
5abs()求绝对值
6add([],x)数组中的数同时加x
7log()对数函数
8exp(x)返回e的x幂次方
9random.randn(x)返回一个随机的x位向量

1. np.dot()

矩阵或向量乘法https://blog.csdn.net/meini32/article/details/126125740

2.np.zreos(shape, dtype)

import numpy as np

# 返回一个 2*3 矩阵 其数据类型是int型
print(np.zeros([2,3],int))

# [[0 0 0]
#  [0 0 0]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
'
运行

3.np.sum()

import numpy as np
A  = [1,2,3]
print(np.sum(A))  #6
  • 1
  • 2
  • 3
'
运行

4.np.max()、min()

import numpy as np
A  = [-1,2,-3]
print(np.max(A))  #2
print(np.min(A))  #-3
  • 1
  • 2
  • 3
  • 4
'
运行

5.np.abs()

import numpy as np
A  = [-1,2,-3]
print(np.abs(A))  #[1,2,3]
  • 1
  • 2
  • 3
'
运行

6.np.add

import numpy as np
A  = [-1,2,-3]
print(np.add(A,3))  #[2 5 0]
  • 1
  • 2
  • 3
'
运行

7.np.log()

import numpy as np
A  = [10,2,3]

print(np.log2(4))  #2.0
print(np.log(np.exp(1)))   #1.0
print(np.log10(A))  #[1.         0.30103    0.47712125]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
'
运行

8.np.exp()

import numpy as np

A  = [1,2,3]

#返回单个e的x方
print(np.exp(1))   #2.718281828459045

# 返回整个数组的e的A[x]方
print(np.exp(A))    #[ 2.71828183  7.3890561  20.08553692]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
'
运行

9.random.randn(x)

import numpy as np
print(np.random.randn(5))
#[-0.82887289 -1.08409144 -0.08997643 -0.46342376  1.00813753]
  • 1
  • 2
  • 3
'
运行

3.案例

1.给出kal值,计算水果中的物质的卡路里占比
在这里插入图片描述

import numpy as np

fruit = np.array([[56.0,0.0,4.4,68.0],
                 [1.2,104.0,52.0,8.0],
                 [1.8,35.0,99.0,8.9]])

total_Kal = fruit.sum(0)  #axis = 0 竖向相加  =1横向相加

#计算总卡路里
print(total_Kal)          #[ 59.  139.  155.4  84.9]
#print(fruit.sum(1))    #[128.4 165.2 144.7]

KalPercent = (fruit/total_Kal)*100

print(KalPercent)
#[[94.91525424  0.          2.83140283 80.0942285 ]
# [ 2.03389831 74.82014388 33.46203346  9.42285041]
#[ 3.05084746 25.17985612 63.70656371 10.48292108]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
'
运行

2.n维向量和n维向量的相乘 (数字/n*n矩阵)

import numpy as np

#随机生成两个3维向量
a=np.random.randn(3)*100
b=np.random.randn(3)*100
print(a)  #[213.05321938 143.03672134 112.62974255]
print(b)  #[-58.82663801 -25.64361092 -63.52288988]
print(a*b)  #直接相乘 输出为一维向量:向量中相同位置相乘结果  #[-12533.20461396  -3667.97802873  -7154.56673368]
print(np.dot(a,b))  #点积运算 数字    #-23355.749376371125

#想要得到矩阵,就得把a、b一个变成行向量,一个变成列向量

a.shape = (3,1) #行
b.shape = (1,3)
print(np.dot(a,b))
#[[-12533.20461396  -5463.45386213 -13533.75619366]
 # [ -8414.36942888  -3667.97802873  -9086.10589881]
 # [ -6625.62909471  -2888.2332956   -7154.56673368]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
'
运行

//如果想要直接得到矩阵 可以直接在定义a、b时设置行或列

a=np.random.randn(3,1)*100
b=np.random.randn(1,3)*100
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/968827
推荐阅读
相关标签
  

闽ICP备14008679号