Numpy中一些函数的简单使用

在学习Char-RNN时,遇到了一些Numpy下的一些参数,在此记录一下。

argsort()

我们先给出个例子:

import numpy as np

x=np.array([6,0,2,8,-1,9,4])
y=x.argsort()[:]
print(y)  

输出结果为:

[4 1 2 6 0 3 5]   

argsort()函数首先将x从小到大排列,然后给出排序后的每个元素在原数组中的索引,并返回该索引数组。比如数组x的最大值和最小值分别为9和-1,他们在x中对应的索引分别为5和4,故y[0]=4, y[6]=5。

squeeze()

numpy.squeeze(a,axis = None)

该函数的作用是删除数组a的指定维度,并且该维度必须为单维度,axis取值可为None、int或者tuple of int。当axis为空时,将删除所有的单维度条目。

import numpy as np

a = np.arange(10).reshape(1,10)
print(a.shape)
b = np.squeeze(a)
print(b)
print(b.shape)  

运行结果为:

(1,10)
[0 1 2 3 4 5 6 7 8 9]
(10,)   

squeeze()函数删除了数组形状中的单维度项目。

c=np.array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
print(c.shape)
d=np.squeeze(c,axis = 1)
print(d)
print(d.shape)  

运行结果:

ValueError: cannot select an axis to squeeze out which has size not equal to one  

可以看到,当试图删除非单维度条目时会报错。

random.choice()

该函数从给定的一维数组中随机采样。

numpy.random.choice(a, size=None, replace=True, p=None)

参数的含义:

  • a:若为一维数组,则表示从这个一维数组中随机采样;若为整数,则表示从0到a-1中随机采样。

  • size:采样结果的数量,默认为1;该参数可为int型,表示采样的数量;也可以是tuple,如(i,j,k),表示采样的数量为(i,j,k)。

  • replace:决定采样中是否有重复值。

  • p:一维数组,对应着a中每个采样点的概率分布,若没有标出,则使用标准分布。

    y=np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
    print(y)

结果为:

[3 2 0]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值