使用循环创建 Pandas 数据框

Create Pandas Dataframe with loop

我正在尝试根据某些条件从一个更大的数据帧创建 10 个新数据帧。请参阅下面的代码。

for i in range(1,11):
    'x_'+str(i) = CRSP_mom[(CRSP_mom['mom_rank'] > (float(i)-1.0)/10)]

我收到错误。

  File "<ipython-input-167-902910fdab60>", line 2
    'x_'+str(i) = CRSP_mom[(CRSP_mom['mom_rank'] > (float(i)-1.0)/10) & (CRSP_mom['mom_rank'] <= (float(i))/10)]
SyntaxError: can't assign to operator

关于如何使用循环名称创建数据框有什么想法吗?

非常感谢大家。

一般来说,动态创建变量不是一个好主意。

字典怎么样?

d = {'x' + str(i) : CRSP_mom[(CRSP_mom['mom_rank'] > (float(i)-1.0)/10) & (CRSP_mom['mom_rank'] <= (float(i))/10)] for i in range(1, 11)}