在创建的数据框中添加一个数字

时间:2017-01-09 11:46:58

标签: python pandas

我希望将范围中的数字添加到由以下循环创建的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')

1 个答案:

答案 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: []