【发布时间】:2021-05-19 18:48:32
【问题描述】:
我想用一个新的更新列表来更新一个带有列表的单元格的值。但是,当我尝试使用 .iloc 替换该值时,我得到一个 ValueError。
d = {'title':['GrownUps', 'Toy Story', 'Toy Story', 'Avatar', 'Avatar', 'Avatar'], 'year': [["Hello", "World"],
["Not", "Object", "!"],
1995, 2000, 2005, 2006]}
dataset_SO=pd.DataFrame(d)
dataset_SO.iloc[0,1]=["hi", "cat", "dog"] #this line produces the ValueError
ValueError:使用可迭代设置时必须具有相等的 len 键和值
我知道这可能是一个愚蠢的问题,但是试图将这个["hi", "cat", "dog"] 变成一个对象,比如np.object0(["hi", "cat", "dog"])。或者this question 没有帮助我解决我的问题。
【问题讨论】:
-
您使用的是哪个版本的熊猫?使用 pandas 1.1.4 复制粘贴代码时,我无法重现您的错误。
-
@ndclt 我使用 pandas 1.2.1。
-
我完全使用 pandas 1.2.2 复制了您上面的示例,效果很好。
-
我也没有。我无法重现错误。
-
我在运行您的代码时没有收到任何错误。它可能是 python 或 pandas 版本。你能更新熊猫(pip install -U pandas)然后再试一次。