python - 如何创建数千个变量而不是使用 DataFrame(太慢)?
问题描述
问题
如何创建数千个变量而不是使用 DataFrame?更新元素
df1.loc[a,b] = df1.loc[a,b] + update_term
好慢!!!
现在的情况
- 我在数据框中有 445 家美国公司 2500 天的历史价格。(2500 行 * 445 列数据帧)
我试图对这些股票价格做的是计算下面显示的方程的 3 个参数。由于每家 445 家公司都有一个k, b k(每个 445 家),并且成对的 445 家公司有 w j,k参数(总共(445 * 444)/2),所以要创建的变量太多了。
为了制作上述参数所需的变量,我制作了 3 个数据框,其中 2 个是 1*445 维度(1 行,445 列)用于 a k, b k和 445 * 445 维度用于 w j,k。下面显示了一个屏幕截图。
由于我使用 df.loc 函数更新每个公司的参数,例如
parameter = parameter + df.loc[date,'company_name']
我的代码太慢了!!
我的代码中的一个真实示例如下所示。
A_random_parameter = df1.loc['row_index_1',company_x] +
df2.loc['row_index_2',company_x] *
df3.loc[date,'company_y']
有什么建议可以创建数千个变量而不是使用类似 DataFrame 的方式吗?
解决方案
事实证明,正如 John Zwinck 所建议的那样,使用字典比使用 DataFrame 存储变量要快得多。谢谢!