遍历数据框列表并另存为新的数据框名称

时间:2020-09-16 19:00:54

标签: python pandas dataframe

我试图遍历数据帧列表并对它们执行操作。在最后一个命令中,我想将数据框重命名为原始键加'_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])

1 个答案:

答案 0 :(得分:0)

该错误是因为您试图在=符号的左侧执行加法,但您永远无法执行加法。如果要重命名数据框,则可以在下一行进行操作。我不确定您要根据代码重命名的确切内容,但是如果它只是seg_name列表中的相应字符串,那么下一行将如下所示:

seg_name[segments.index(i)] += 'rand_test'

segments.index(i)的原因是因为您要遍历段中的元素,而不是它们的索引,所以您需要获取元素的索引。