使用类似的拼写创建一个pandas数据框变量名列表

时间:2017-06-19 00:05:11

标签: python regex list pandas

在我的环境中,我有一个类似命名的几个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

1 个答案:

答案 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()