【发布时间】:2019-08-20 07:44:41
【问题描述】:
这似乎是一个很常见的问题,但我的问题略有不同。我搜索过的大部分问题;给出了如何迭代地创建不同的变量。但是我想迭代地使用那些已经在字典中的变量。
考虑使用 pandas,假设我定义了 3 个数据帧 df_E1、df_E2、df_E3。它们每个都有名称、日期、用途等列。
假设我想从所有这些中打印描述。 df_E1.describe()、df_E2.describe()、df_E3.describe()。现在,如果我有 20-30 个这样的数据帧并且我想在 for 循环中从 df_E{number}.describe() 进行描述,而不是一一打印,该怎么办。我该怎么做?
df_E1 = {'name':['john','tom','barney','freddie'], 'number':['3','4','5','6'], 'description':['a','b','c','d']}
df_E2 = {'name':['andy','candy','bruno','mars'], 'number':['1','2','5','8'], 'description':['g','h','j','k']}
df_E3 = {'name':['donald','trump','harry','thomas'], 'number':['9','4','5','7'], 'description':['c','g','j','r']}
df_E1 = pd.DataFrame(df_E1)
df_E2 = pd.DataFrame(df_E2)
df_E3 = pd.DataFrame(df_E3)
print(df_E1.head())
print(df_E2.head())
print(df_E3.head())
#### instead of above three statements, is there any way I can print them in a
#### for loop. Below does not work as it gives just the string printed.
for i in range(1,4):
print(str('df_E')+str(i))
### Now if I am able to print dataframes somehow, I will be able to use all
### these in a loop. Eg. if I need to print describe of these, I will be able
### to do it in for loop:
for i in range(1,4):
print((str('df_E')+str(i)).describe()) // something like this which works
这并没有反映已经提出的问题,因为他们更多地关注在 for 循环中将变量创建为字符串,我知道这可以使用字典来完成。但在这里,要求是使用已经存在的变量
【问题讨论】:
标签: python python-3.x pandas