Python Forum

Full Version: fill an empty matrix with random floats
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Im new in programming and I want to fill just the first column of a matrix with diferent random float within a certain range (low and high limits), but when I run my code it fills all the rows in the first column with the same value. Please help me! :)
import numpy as np
import random
res=np.zeros([5,2])#empty matrix
first_col_res=res[:,0] #the first column of matrix res
seen=set()

def rand_teta(low, high,k):#k refers to the total random numbers:
    
    j=0
    while j <=k:
        x=random.uniform(low,high)
        
        j=j+1
        while x in seen:
            x=random.uniform(low,high)
    seen.add(x)
    first_col_res.fill(x)
    
    return res
#out put example
rand_teta(1,2,3)
Output:
Out[88]: array([[1.72762661, 0. ], [1.72762661, 0. ], [1.72762661, 0. ], [1.72762661, 0. ], [1.72762661, 0. ]])
Please use python and output tags when posting code and results. I put them in for you this time. See the BBCode link in my signature below for instructions.
I think you want res[:,0] = np.random.rand(5) + 1.