Don't create dynamically named variables
It is poor practice: makes your code intractable, clutters the namespace, removes the connection between related variables.
Use a dictionary instead
Usefully, Python provides an efficient method to provide labels for variables via hashable keys. The use of dict
will make your life easier and make your code more readable. For example:
dfs = {}
mmmyy = 'Jul18'
dfs[mmmyy] = pd.DataFrame(columns=['col1', 'col2', 'col3'])
print(dfs)
{'Jul18': Empty DataFrame
Columns: [col1, col2, col3]
Index: []}
Then access your dataframe via dfs['Jul18']
.