Я новичок в программировании на Python, и у меня возникла проблема с назначением определенных значений первому столбцу очень большого numpy.array.
Это код, который я использую:
import numpy as np
a = np.zeros ((365343020, 9), dtype = np.float32)
for n in range (0, 36534302):
a[n*10:(n+1)*10,0] = n
где вторая строка, где я создаю массив из 365343020 строк и 9 столбцов, заполненных нулями;в то время как последовательный «for» предназначен для замены первого столбца массива вектором, элементы которого представляют собой 36534302 последовательных целых числа, повторяющихся 10 раз каждый (например, [0,0,…, 0,1,1,…, 1,2,2,…, 36534301, 36534301,…, 36534301]).
Кажется, что код реагирует так, как нужно, до строки 168000000 или массива, затем он заменяет 10 повторений чисел последней цифрой, нечетной, наВторое повторение (четного) числа ранее.
Я искал объяснения относительно различий между видами и копиями.Однако, даже пытаясь вручную определить содержимое определенной ячейки массива (где оно ошибочно определено циклом), оно не меняется.
Не могли бы вы помочь мне в решении этой проблемы?Спасибо