Nicolas Peille
Nicolas Peille

Reputation: 169

Access dynamically created data frames

Hello Python community,

I have a problem with my code creation.

I wrote a code that creates dynamically dataframes in a for loop. The problem is that I don't know how to access to them.

Here is a part of code

list = ['Group 1', 'Group 2', 'Group 3']
for i in list:
    exec('df{} = pd.DataFrame()'.format(i))
for i in list:
    print(df+i)

The dataframes are created but i can not access them.

Could someone help me please?

Thank you in advance

Upvotes: 1

Views: 54

Answers (1)

Trevor Witter
Trevor Witter

Reputation: 126

I'm not sure exactly how your data is stored/accessed but you could create a dictionary to pair your list items with each dataframe as follows:

list_ = ['Group 1', 'Group 2', 'Group 3']
dataframe_dict = {} 

for i in list_:
    data = np.random.rand(3,3) #create data for dataframe here 
    dataframe_dict[i] = pd.DataFrame(data, columns=["your_column_one", "two","etc"])

Can then retrieve each dataframe by calling its associated group name as the key of the dictionary as follows:

for key in dataframe_dict.keys():
    print(key)
    print(dataframe_dict[key])

Upvotes: 2

Related Questions