在我的环境中,我有一个类似命名的几个pandas数据框的列表。
例如:
echo $this->params->pass['1']
我想创建一个列表,自动计算我的环境中的数据框并动态地将它们拉入列表。
import pandas as pd
import numpy as np
df_abc = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD')
df_xyz = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD')
df_2017 = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD')
... potentially others
答案 0 :(得分:1)
globals()
应返回全局变量的variable_name:variable_value字典。
如果您想要一个名称以'df_'开头的已定义变量列表,您可以这样做:
list_of_dfs = [variable for variable in globals().keys()
if variable.startswith('df_')]
我认为必须有一种比全局存储数据帧更好的方法,并依靠globals()来获取它们的变量名称。也许将它们全部存储在字典中?:
dataframes = {}
dataframes['df_1'] = pd.DataFrame()
dataframes['df_2'] = pd.DataFrame()
list_of_dfs = dataframes.keys()