numpy常用函数

  • 求e的幂指
In [49]: a = np.arange(3)

In [50]: a
Out[50]: array([0, 1, 2])

In [51]: np.exp(a)
Out[51]: array([1.        , 2.71828183, 7.3890561 ])
  • 求开平方
In [52]: np.sqrt(a)
Out[52]: array([0.        , 1.        , 1.41421356])
  • 向下取整
In [53]: a = np.random.randn(2,3)

In [54]: a
Out[54]:
array([[-0.33540126,  0.74271821, -0.19945059],
       [ 0.96239612, -1.2588831 , -1.36991315]])

In [55]: np.floor(a)
Out[55]:
array([[-1.,  0., -1.],
       [ 0., -2., -2.]])
  • 矩阵转化为向量
In [56]: np.ravel(a)
Out[56]:
array([-0.33540126,  0.74271821, -0.19945059,  0.96239612, -1.2588831 ,
       -1.36991315])
  • 矩阵转置
In [64]: a
Out[64]:
array([[1, 2],
       [3, 4],
       [5, 6]])

In [65]: a.T
Out[65]:
array([[1, 3, 5],
       [2, 4, 6]])
  • 矩阵按列拼接
In [67]: a = np.array([[1,2],[3,4]])

In [68]: a
Out[68]:
array([[1, 2],
       [3, 4]])

In [69]: b = np.array([[5,6],[7,8]])

In [70]: b
Out[70]:
array([[5, 6],
       [7, 8]])
In [72]: np.vstack((a,b))
Out[72]:
array([[1, 2],
       [3, 4],
       [5, 6],
       [7, 8]])
  • 矩阵按行拼接
In [78]: np.hstack((a,b))
Out[78]:
array([[1, 2, 5, 6],
       [3, 4, 7, 8]])
  • 矩阵按列切分
In [90]: c
Out[90]:
array([[1, 2, 5, 6],
       [3, 4, 7, 8]])
In [91]: np.vsplit(c,2)
Out[91]: [array([[1, 2, 5, 6]]), array([[3, 4, 7, 8]])]
  • 矩阵按行切分
In [96]: np.hsplit(c,2)
Out[96]:
[array([[1, 2],
        [3, 4]]),
 array([[5, 6],
        [7, 8]])]
  • nump浅拷贝与深拷贝
#浅拷贝
a = b.view()
#深拷贝
a = b.copy()
  • 求矩阵按行或列的最大值索引
In [98]: c
Out[98]:
array([[1, 2, 5, 6],
       [3, 4, 7, 8]])

In [99]: c.argmax(axis=0)
Out[99]: array([1, 1, 1, 1], dtype=int64)

In [100]: c.argmax(axis=1)
Out[100]: array([3, 3], dtype=int64)
  • 按行或列成倍数扩大原矩阵
In [102]: a = np.arange(0,40,10)

In [103]: a
Out[103]: array([ 0, 10, 20, 30])
#将矩阵a的行数扩大2倍数,列数扩大3倍
In [106]: np.tile(a, (2,3))
Out[106]:
array([[ 0, 10, 20, 30,  0, 10, 20, 30,  0, 10, 20, 30],
       [ 0, 10, 20, 30,  0, 10, 20, 30,  0, 10, 20, 30]])
  • 按行或列对矩阵排序
In [107]: a = np.array([[4,3,5],[1,2,1]])

In [108]: np.sort(a,axis=0)
Out[108]:
array([[1, 2, 1],
       [4, 3, 5]])

In [109]: np.sort(a,axis=1)
Out[109]:
array([[3, 4, 5],
       [1, 1, 2]])
  • 按行或列排序返回排序后的原矩阵索引
In [110]: a
Out[110]:
array([[4, 3, 5],
       [1, 2, 1]])

In [111]: np.argsort(a, axis=0)
Out[111]:
array([[1, 1, 1],
       [0, 0, 0]], dtype=int64)

In [112]: np.argsort(a, axis=1)
Out[112]:
array([[1, 0, 2],
       [0, 2, 1]], dtype=int64)
  • 生成正态分布的随机数组
# 随机数生成

samples = np.random.normal(size=(4,4))
print(samples)
# 生成一个标准正太分布的4*4样本值

在这里插入图片描述

  • 生成均匀分布的随机浮点数
c = np.random.rand(2,3)
print(c,type(c))  # 生成形状为2*3的二维数组,注意这里不是((2,3))

在这里插入图片描述

  • 生成正态分布的随机数组
samples1 = np.random.randn(1000)
samples2 = np.random.randn(1000)
plt.scatter(samples1,samples2)

在这里插入图片描述

  • 生成随机整数数组
print(np.random.randint(2,6,(2,3)))
# low=2,high=6,size=(2,3):生成一个2*3整数数组,取值范围:[2,6)随机整数  

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值