У меня есть проблема, которую я, похоже, не могу решить.
Я строю в массиве массива формы (100, 30) из строк файла (100 строк по 30 значений в каждой),и мне нужно превратить этот массив в форму (100,) со значениями в виде среднего значения n последних значений в каждой строке исходного массива.
У меня есть цель, чтобысделайте это в одной строке, чтобы я попробовал понимание вложенного списка, но я чувствую себя полностью потерянным и не уверен в том, что я делаю.
Это то, что я до сих пор получил, это дает мне массив правильной формы, но с (я считаю) неправильными значениями.
def perf_n_last(n):
a = np.array([np.mean([i for j in range(len(i)-1, len(i)-(n+1), -1)]) for i in np.loadtxt('myfile.txt')])
print(a.shape) #outputs (100, )
Входные и выходные данные должны выглядеть следующим образом:
input_f = [[1. 2. 3. 4. 5.]
[2. 3. 4. 5. 6.]
[3. 4. 5. 6. 7.]]
#We assume n = 2
output_f = [4.5 5.5 6.5]
Я также открыт для предложений по списку фрагментов.Спасибо за помощь!