0

I have a nested loop where I calculate 10 distances, and store them in an array b_array. Then into a_array another array which will is to keep the results for every image. The problem is that my code overwrites a_array for every iteration even when it is outside the main function when I checked with print. Therefore, I end up with the exact same result of the last executed file in the loop for all 4 images.

distances = np.linspace(min_distance, max_distance, 10)
a_array = np.zeros((4,10))
  
    for x in range (0, 4):
        b_array = np.zeros(10)
        for y in range(0,10):
            b_array[y] = mean_intensity(distances)#local function
        a_array[x] = b_array
        print(a_array)

1 Answer 1

1

If you want a (4,10) array with each row as evenly spaced numbers, then you could do: np.linspace([min_distance]*4, [max_distance]*4, 10, axis=1), which would have the same effect as:

min_distance = 0
max_distance = 10
a_array = np.zeros((4,10))

for x in range (0, 4):
    b_array = np.linspace(min_distance, max_distance, 10)
    a_array[x] = b_array
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.