不明白 ValueError: 在 Python 中设置可迭代时必须具有相等的 len 键和值

问题描述 投票:0回答:1

我正在使用 ML 脚本,我想用相同的方式更改列的值,但不是字符串,而是存储为数组。现在数据存储如下:'31-2',我想存储为'[31,2]'。但是,我得到 ValueError: Must have equal len keys and value when 设置可迭代时,我不明白为什么。我正在使用 Pandas 库。

for i in range(0,len(ml_dataset)):
      var = str(ml_dataset.loc[i, "Layout"]).split("-")
      ml_dataset.loc[i, "Layout"] = var

最后一句出现错误。我有很多列,并且对这句话没有任何问题,但是为此,当尝试存储为数组时,我遇到了问题。

我已经阅读了有关 .apply() 方法和 lambda 表达式的内容,但不知道如何在我的案例中使用它们。

非常感谢!

python pandas dataframe
1个回答
0
投票

IIUC用途:

ml_dataset = pd.DataFrame({'Layout':['31-2','20', 5]})

ml_dataset["Layout"] = ml_dataset["Layout"].astype(str).str.split("-")
print (ml_dataset)
    Layout
0  [31, 2]
1     [20]
2      [5]
© www.soinside.com 2019 - 2024. All rights reserved.