无法更改熊猫数据框中的值

时间:2018-10-22 19:22:40

标签: python python-3.x pandas dataframe matrix

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

0 个答案:

没有答案