【问题标题】:Pandas Dataframe: IndexError: single positional indexer is out-of-boundsPandas Dataframe:IndexError:单个位置索引器超出范围
【发布时间】:2020-05-29 07:36:19
【问题描述】:

我正在尝试使用 pandas 数据帧中的值填充矩阵,但收到错误消息:IndexError: single positional indexer is out-of-bounds。谁能帮我解决这个问题?

ampl.param['request'] = {
    (subjects[i], 1+p): request.iloc[p, i]
    for i in range(len(subjects))
    for p in range(len(students))
}

pandas dataframe

【问题讨论】:

  • 嗯,为什么? df.values 给你一个矩阵
  • 我正在尝试使用 amplpy API 在 AMPL 中填充参数。基本上,我想要相同的矩阵,但通过 ampl.param-command。
  • 什么是ampl?您能否在该代码中添加更多内容,很难理解发生了什么

标签: python pandas dataframe


【解决方案1】:

遍历range(1, len(subjects)) 并尝试这个(subjects[i-1], p): request.iloc[p-1, i-1]

【讨论】:

  • 感谢您的贡献。 AMPL 是一个优化软件。我通过使用 pd 数据帧(称为请求)中的值创建一个列表来解决这个问题。 list = request.values.tolist() ampl.param['request'] = { (subjects[i], 1+p): list[i][p] for i in range(len(subjects)) for p in范围(len(学生))}
猜你喜欢
  • 2022-07-06
  • 2019-04-13
  • 2018-03-03
  • 2018-06-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-24
  • 1970-01-01
相关资源
最近更新 更多