我们有将数组填充到数据框中的代码(是的,我知道,这并不是最佳实践)。
df.at[index,'alist'] = list(alist)
alist
是一个列表,但是广播阻止了该操作,因此list(alist)
被用于阻止广播并允许该操作。
最后一组源库更新list(alist)
开始广播,导致此行失败,并显示错误Must have equal len keys and value when setting with an ndarray
关于如何纠正的任何想法?
答案 0 :(得分:2)
at
不会为您转换dtype
。 loc
会出错,因为它假定您正在尝试将列表推入多个单元格中。
转换您的dtype
,然后使用at
df = pd.DataFrame(1, range(10), [*'ABC'])
df = df.astype({'A': object})
df.at[2, 'A'] = [1, 2, 3]
df
A B C
0 1 1 1
1 1 1 1
2 [1, 2, 3] 1 1
3 1 1 1
4 1 1 1
5 1 1 1
6 1 1 1
7 1 1 1
8 1 1 1
9 1 1 1