当要设置的值是多个嵌套列表时设置单元格值的正确方法
Proper way to set a cell value when the value to set is multiple nested lists
目标:使用列表的列表更新 pandas 数据框的单元格值
问题:尝试执行此操作时,出现错误“使用可迭代设置时必须具有相等的 len 键和值”
概述:我有一个 pandas 数据框,我想更新一个单元格值。要输入的单元格值是一个列表,列表的列表。数据框已经存储了这样的单元格值,但需要将此值更新为新的列表列表列表。但是,当我尝试更新单元格时,我收到了上述错误。我无法重现这个问题是一些简化的代码,所以我想知道它是否与列表的长度有关 - 列表中有 40 多个列表。
我执行此操作的代码看起来像这样,但正如我所说,这不会重现问题,因为我怀疑它与列表的长度有关:
import pandas
df = pandas.DataFrame(data={'First':['Bob','Bobby'], 'Last': ['Bobberson', 'Bobson']})
for i in df.index:
df.loc[i, 'First'] = [[[1,3], [4,5]],[[2,3],[4,5]]]
尝试将 .loc
替换为 .at
:
for i in df.index:
df.at[i, 'First'] = [[[1,3], [4,5]],[[2,3],[4,5]]]
详细了解 .loc
出现问题的原因 here
目标:使用列表的列表更新 pandas 数据框的单元格值
问题:尝试执行此操作时,出现错误“使用可迭代设置时必须具有相等的 len 键和值”
概述:我有一个 pandas 数据框,我想更新一个单元格值。要输入的单元格值是一个列表,列表的列表。数据框已经存储了这样的单元格值,但需要将此值更新为新的列表列表列表。但是,当我尝试更新单元格时,我收到了上述错误。我无法重现这个问题是一些简化的代码,所以我想知道它是否与列表的长度有关 - 列表中有 40 多个列表。
我执行此操作的代码看起来像这样,但正如我所说,这不会重现问题,因为我怀疑它与列表的长度有关:
import pandas
df = pandas.DataFrame(data={'First':['Bob','Bobby'], 'Last': ['Bobberson', 'Bobson']})
for i in df.index:
df.loc[i, 'First'] = [[[1,3], [4,5]],[[2,3],[4,5]]]
尝试将 .loc
替换为 .at
:
for i in df.index:
df.at[i, 'First'] = [[[1,3], [4,5]],[[2,3],[4,5]]]
详细了解 .loc
出现问题的原因 here