У меня 3 массива:Использование numpy.tile повторить 2D массивы
e = np.array(range(3,100))
dRdE = np.load('arr_25.npy')
NPY файл содержит массив со случайными значениями, но имеет ту же длину, что и е. Затем я беру внешний продукт dRdE
с другим массивом.
s = np.array(range(1,100))
dRdE = np.outer(s, dRdE)
И вот dRdE
сейчас 2D.
Я хочу, чтобы e повторяло количество раз каждого элемента в dRdE
. Я мог бы использовать dRdE
раньше, когда он был 1D и такой же длины, как и с помощью повтора numpy. Код, который я имел в своем распоряжении был:
earray = np.repeat(e, dRdE)
Но поскольку dRdE больше не 1D я думал, что я мог бы быть в состоянии использовать np.tile
, но я точно не знаю, как.
Контекст может помочь, поэтому у меня есть переменная от 3keV
до 100keV
, и у меня есть массив, содержащий количество событий (dRdE
) для каждой энергии между этим диапазоном. Но теперь я хочу представить третью переменную, которая является лишь некоторые фактор dRdE от 1 до 100. Так, например, если:
dRdE= [1,2,1,2..],[2,4,2,4..],[3,6,3,6]
Я хочу:
earray=([3,4,4,5,6,6,...],[3,3,4,4,4,4,5,5,6,6,6,6,...],[3,3,3,4...])
Любая помощь будет оценен по достоинству!
Подрезы в 'earray' отличаются по длине?Если это так, то вам, вероятно, просто придется применять 'repeat' row by row. 'tile' для шаблонов, которые применяются по строкам и/или столбцам, - обычный шаблон плитки, а не мозаика. – hpaulj
Да, они, к сожалению, так работают, если бы подсписки были одинаковой длины? –