実現したいこと
タイトルの通り、2つの数字を何回か使って合計が1になる数列を生成したいです。
例を挙げると、0.2と0.3の数字を使って、[0.2, 0.2, 0.3, 0.3]
や[0.2, 0.2, 0.2, 0.2, 0.2]
といったような数列を生成するものです。
どのような関数などを使えばこのような数列ができるのかヒントを教えていただければ嬉しいです。
試したこと
NumPyのnp.random.rand
を使用してみましたが、数列の長さが固定されていたり0.2や0.3といった2つの数字のみを使用して数列を生成するということが出来ませんでした。
python
1import numpy as np 2 3a = np.random.rand(4) 4# [0.93632304, 0.6736526, 0.36393771, 0.65718532] 5 6a = [n/sum(a) for n in a] 7# [0.3558677046098137, 0.2560347145268969, 0.13832157261433678, 0.2497760082489526] 8 9print(sum(a)) 10# 1.0
上の例では合計が1ですが、指定したい2つの数字が使えていません。
回答3件
あなたの回答
tips
プレビュー