How to create an array of dataframes in Python How to create an array of dataframes in Python pandas pandas

How to create an array of dataframes in Python


I suggest that you create a dictionary to hold the DataFrames. That way you will be able to index them with a month-day key:

import datetime as dt import numpy as npimport pandas as pddates_list = [dt.datetime(2015,11,i+1) for i in range(3)]month_day_list = [d.strftime("%m%d") for d in dates_list]dataframe_collection = {} for month_day in month_day_list:    new_data = np.random.rand(3,3)    dataframe_collection[month_day] = pd.DataFrame(new_data, columns=["one", "two", "three"])for key in dataframe_collection.keys():    print("\n" +"="*40)    print(key)    print("-"*40)    print(dataframe_collection[key])

The code above prints out the following result:

========================================1102----------------------------------------        one       two     three0  0.896120  0.742575  0.3940261  0.414110  0.511570  0.2682682  0.132031  0.142552  0.074510========================================1103----------------------------------------        one       two     three0  0.558303  0.259172  0.3732401  0.726139  0.283530  0.3782842  0.776430  0.243089  0.283144========================================1101----------------------------------------        one       two     three0  0.849145  0.198028  0.0673421  0.620820  0.115759  0.8094202  0.997878  0.884883  0.104158


df will have all the CSV files you need.df[0] to access first one

df=[]    files = glob.glob("*.csv")    for a in files:        df.append( pd.read_csv(a))