Я пытаюсь создать матрицу для задачи смены монет для динамического программирования для задания Coursera.
Я могу создать информационный кадр и установить для него начальные значения.
Но, перебирая цикл данных с использованием циклов for, я не могу изменить значения в его ячейках.Он использует .iloc [] для прохода по строкам и столбцам.
Вот что я пытался сделать при создании фрейма данных.
import numpy as np
import pandas as pd
amount=int(input())
coins=list(map(int, input().split()))
matrix=pd.DataFrame(np.zeros(shape=(len(coins), amount+1)), columns=list(range(0,amount+1)))
matrix.iloc[0]=matrix.columns
print(matrix)
for i in matrix.index[1:]:
for j in matrix.columns[1:]:
if j>=coins[i-1]:
matrix.iloc[i,j]=min(matrix.iloc[i-1,j], matrix.iloc[i,j-i+1])
else:
matrix.iloc[i,j]=matrix.iloc[i-1,j]
print(matrix)