我希望将范围中的数字添加到由以下循环创建的df中。这可以在同一个循环中完成,还是必须编写一个额外的循环?
例如,此循环创建3个df,我希望在其名称中添加1,2和3:df_X1,df_Y2,df_Z3。
dfs2 = {}
for x in ['X','Y','Z']:
dfs2['df_{}'.format(x)] = dfs['df_{}0'.format(x)].add(dfs['df_{}1'.format(x)]).add(dfs['df_{}2'.format(x)]).reset_index(level=3).unstack().sort_index(level='S')
答案 0 :(得分:1)
我认为你需要enumerate
:
for i, x in enumerate(['X','Y','Z']):
print (i, x)
0 X
1 Y
2 Z
一起加上1
,因为python
来自0
:
#testing empty dataframe
df = pd.DataFrame()
dfs2 = {}
for i, x in enumerate(['X','Y','Z']):
print (i, x)
dfs2['df_{}{}'.format(x, i + 1)] = df #df is testing dataframe
print (dfs2)
{'df_Y2': Empty DataFrame
Columns: []
Index: [], 'df_X1': Empty DataFrame
Columns: []
Index: [], 'df_Z3': Empty DataFrame
Columns: []
Index: []}
print (dfs2['df_X1'])
Empty DataFrame
Columns: []
Index: []