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)
解决方案
推荐阅读
- vue.js - Vue 编译不正确
- r - R:HTML表格输出的字符串中的手动换行符
- excel - 如何水平复制公式可变次数?- 谷歌表格
- javascript - javascript中的通知计时器
- angularjs - AngularJS调用回调函数
- python - fit_transform(image) TSNE 方法的 Numpy 数组格式
- node.js - 我应该使用 express-jwt 还是 passport-jwt 来保护 Express/Angular 应用程序?
- python-3.x - 我尝试了嵌套函数,但没有得到预期的输出
- javascript - 服务人员可以检测到注册它的选项卡是否已关闭?
- c - 如何比较 argv 和另一个字符串?