无法更改数据帧中的值

2024-04-26 05:07:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图为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)

Tags: columns数据importforinputasnpamount