【发布时间】:2019-09-30 14:40:06
【问题描述】:
我似乎无法在带有列表的 pandas 数据框中重新分配值。 Python 想要遍历列表,但我认为它不会这样做。例如,如果我有以下内容:
import pandas as pd
val1 = [0, 1, 2]
val2 = [3, 4, 5]
d_list = []
for v1, v2 in zip(val1, val2):
d_list.append({'val1':v1, 'val2':v2})
df = pd.DataFrame(d_list)
val3 = [6, 7, 8, 9]
df['val3'] = [val3]*len(df)
print df
我得到了我的预期输出:
val1 val2 val3
0 0 3 [6, 7, 8, 9]
1 1 4 [6, 7, 8, 9]
2 2 5 [6, 7, 8, 9]
现在我想重新分配val3 中的值:
df.loc[0, 'val3'] = [11, 12, 13, 14]
我收到以下错误:
raise ValueError('Must have equal len keys and value '
ValueError: Must have equal len keys and value when setting with an iterable
我在这里做错了什么?
【问题讨论】:
-
试试
df.at[0, 'val3'] = [11, 12, 13, 14]