我试图遍历数据帧列表并对它们执行操作。在最后一个命令中,我想将数据框重命名为原始键加'_rand_test'
。我遇到了错误:
SyntaxError: cannot assign to operator
有没有办法做到这一点?
segments = [main_h, main_m, main_l]
seg_name = ['main_h', 'main_m', 'main_l']
for i in segments:
control = pd.DataFrame(i.groupby('State', group_keys=False).apply(lambda x : x.sample(frac = .1)))
control['segment'] = 'control'
test= i[~i.index.isin(control.index)]
test['segment'] = 'test'
seg_name[i]+'_rand_test' = pd.concat([control,test])
答案 0 :(得分:0)
该错误是因为您试图在=符号的左侧执行加法,但您永远无法执行加法。如果要重命名数据框,则可以在下一行进行操作。我不确定您要根据代码重命名的确切内容,但是如果它只是seg_name列表中的相应字符串,那么下一行将如下所示:
seg_name[segments.index(i)] += 'rand_test'
segments.index(i)的原因是因为您要遍历段中的元素,而不是它们的索引,所以您需要获取元素的索引。