Assign()接受1个位置参数,但给定2个(SettingWithCopyWarning)

use*_*806 1 python-3.x pandas

因此,我试图做一个好人,并重写一下:

df1["Cum Correct"] = df1.groupby(level=0)["Correct"].cumsum()
Run Code Online (Sandbox Code Playgroud)

这会触发过度热情的SettingWithCopyWarning:

tmp={'Cum Correct': df1.groupby(level=0)["Correct"].cumsum()}
df1= df1.assign(tmp)
Run Code Online (Sandbox Code Playgroud)

根据我使用assign阅读的内容,是正确的方法。但这给了我错误:

TypeError: assign() takes 1 positional argument but 2 were given
Run Code Online (Sandbox Code Playgroud)

Max*_*axU 6

尝试解开tmp字典:

df1= df1.assign(**tmp)
Run Code Online (Sandbox Code Playgroud)