python choice函数用法_python numpy函数问题np.put和np.random.choice()

题目:在建立的5*5的零数组中随机加入p个1

两个问题 第一个:如何加入(利用put函数)

第二个:随机(利用np.random.choice函数)

1、首先看一下np.put函数的格式

np.put(a, ind, v, mode=‘raise’)

参数解释 :1、a 就是目标数组 这里就是5*5的零数组

2、ind是目标数组的位置

3、v是你要加入的值

注意:在此函数中a是扁平化的(无论是一维还是二维)

举例

a = np.array([0,5,6,75,6])

np.put(a, [0, 2], [-44, -55])

结果

array([-44, 5, -55, 75, 6])/就是把0和2位置上的值替换成了-44和-55

2、看一下np.random.choice()的格式

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

参数解释:1、从a(只要是ndarray都可以,但必须是一维的)中随机抽取数字

2、size:取得数字的个数

2、replace:True表示可以取相同数字,False表示不可以取相同数字

3、数组p:描述数组a中每一个元素取得的概率。

举例 np.random.choice(range(25),3,replace = False)//从25的范围内去3个不同的数

输出:array([21, 4, 0])

本题代码

p = 3

z = np.zeros((5,5))///建立一个二维5*5的数组

np.put(z,np.random.choice(range(25),p,replace = False),1)

解释:np.random.choice(range(25),p,replace = False)从25中取3个不重复的数字

再将1插入z中相应的位置

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值