【问题标题】:Python Pandas: ValueError: Must have equal len keys and value when setting with an iterablePython Pandas:ValueError:使用可迭代设置时必须具有相等的 len 键和值
【发布时间】:2020-05-05 06:04:58
【问题描述】:

我有一个要更改的 DataFrame

df.loc[rowId,colId] = myDict 

为条目 [rowId,colId] 分配一个字典。结果我得到以下错误:

ValueError: Must have equal len keys and value when setting with an iterable

设置

df.loc[rowId,colId] = 0

有效!在我的小齿轮中,第一种方法中分配值的样式是正确的,那么有什么问题?

【问题讨论】:

  • 请分享你的数据框和字典的实际数据
  • 见下方评论

标签: python pandas dataframe


【解决方案1】:

可以通过添加list:

df.loc[rowId,colId] = [myDict]

但为了在 pandas 中获得更好的性能,最好只在 pandas 中使用标量。

【讨论】:

  • 嗯,我目前正在使用 json 格式的电晕数据集。它导致每个国家/地区有一个时间线,因此县是行,(json)时间线是列条目。由于还有人口、人口密度和面积等附加列,因此将行排成列并以时间为行是没有帮助的。我不确定什么是正确的 DataFrame 结构。我最终通过生成一个以 dict 作为条目的列表来解决这个问题,最后将 ENTIRE LIsT 分配给整个列 - 这很有效。
  • 不,添加列表无法做到这一点
猜你喜欢
  • 2018-06-08
  • 1970-01-01
  • 2022-01-20
  • 2022-10-03
  • 1970-01-01
  • 2020-01-08
  • 2011-10-21
  • 2021-09-15
  • 2012-05-09
相关资源
最近更新 更多