python - 使用循环创建 Pandas Dataframe

标签 python pandas

我正在尝试根据某些标准从一个较大的数据帧创建 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)}

关于python - 使用循环创建 Pandas Dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28613111/

相关文章:

python - 带有 X、Y 数据的 Matplotlib 热图

python - 有没有办法让 Pandas ewm 在固定窗口上运行?

python - 如何使用用户输入(字符串类型的变量)作为函数名称从 matlab.engine 调用 Python 中的 Matlab 函数?

python - 分别为多个文件保存每个文件中的多个图形

python - 从连接中填充数据帧 nan 值

python - 对空值执行算术运算

python - matplotlib 绘图不显示任何内容

javascript - Django:如何在过滤后刷新表格而不刷新整个页面?

python - 在 Pandas 数据框架中合并两个变量以形成一个新变量 - Python

python - Pandas:检查列中是否存在一个值,创建一个新列,存在加1,不存在加0