python pandas DataFrame - 将列表分配给多个单元格

Gru*_*vet 7 python dataframe pandas valueerror

我有一个像这样的数据框

name col1 col2
 a    aa   123
 a    bb   123
 b    aa   234
Run Code Online (Sandbox Code Playgroud)

和一个清单

[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

我想用 col1 = 'aa' 替换每行的 col2 ,列表如下

name col1     col2
 a    aa   [1, 2, 3]
 a    bb       123
 b    aa   [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的东西

df.loc[df[col1] == 'aa', col2] = [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

但它给了我错误:

name col1 col2
 a    aa   123
 a    bb   123
 b    aa   234
Run Code Online (Sandbox Code Playgroud)

我应该如何解决这个问题?

Jag*_*r V 2

import pandas as pd
df = pd.DataFrame({"name":["a","a","b"],"col1":["aa","bb","aa"],"col2":[123,123,234]})
l = [1,2,3]
df["col2"] = df.apply(lambda x: l if x.col1 == "aa" else x.col2, axis =1)
df
Run Code Online (Sandbox Code Playgroud)