【发布时间】:2019-02-27 05:14:46
【问题描述】:
我正在尝试根据另一个列值设置 pandas 列的值。新值应通过迭代列表来设置,该列表与col1 的唯一值具有相同的长度
例子:
d = {'col1': [1, 2,2,2,3,3,4], 'col2': [1,1,1,1,1,1,1]}
df = pd.DataFrame(data=d)
items_to_add=[5,2,11,9]
#list has length of unique values in `column1`
现在我想添加例如 5 到 column2 如果 column1 是 1 和 2 到所有 column2 行其中 column1 是 2 ....
所以我应该得到:
col1 col2
1 5
2 2
2 2
2 2
3 11
3 11
4 9
这段代码给我一个语法错误,但我不知道为什么
items_to_add=[5,2,11,9]
for i in range(len(items_to_add)):
df['col2'][df.col1[i]] = items_to_add[i]
我做错了什么?我该如何解决?
【问题讨论】:
-
您在
df = df = pd.DataFrame(data=d)中没有收到任何错误吗?