2017-01-09 3 views
1

次のループで作成されたdfの範囲から数値を追加したいと思います。同じループでこれを行うことはできますか?または追加のループを作成する必要がありますか?作成したデータフレームに数値を追加する

たとえば、このループでは、df_X1、df_Y2、df_Z3という名前に1,2,3を追加したい場所に3つのdfが作成されます。

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

は、私はあなたがenumerateが必要だと思う:

for i, x in enumerate(['X','Y','Z']): 
    print (i, x) 
0 X 
1 Y 
2 Z 

そして、すべてを一緒に - 、1を追加するため0からpython数:

#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: [] 
+0

グレート、ありがとう。私が試してみます – Zanshin

関連する問題