首页 > 解决方案 > 无法更改熊猫数据框中的值

问题描述

我正在尝试为 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)

标签: pythonpython-3.xpandasdataframematrix

解决方案


推荐阅读