每天同时循环超过20个数据帧

时间:2013-10-16 04:02:16

标签: python numpy pandas

我有以下数据结构(仍有变化):

pp = ([Pair1, Pair2, Pair3, ..., Pair25])

每对都有以下格式:

 <class 'pandas.core.frame.DataFrame'>
 DatetimeIndex: 2016 entries, 2005-09-19 00:00:00 to 2013-09-12 00:00:00
 Data columns (total 2 columns):
 CA      2016  non-null values
 Na      2016  non-null values

我有很多功能需要每天为每个DataFrame应用。但是,For-Loop可能不会逐步运行,例如Pair1,Pair2,Pair3。 For-loop应该每天运行,例如:

 2005-09-19: do function for each pair!
 2005-09-20  and continue
 2005-09-21 
 2005-09-22 

有没有办法做到这一点,还是我需要完全改变我的数据结构和代码?

更新1

然而,我现在所处的位置是否有效?

for i in range(len(ps[1])):
    for row in ps:
    print row[i:i+1]


                 A      C               DE
Date                                       
2005-09-19 -0.600021  4.649857            3
                 A     G                DE
Date                                      
2005-09-19 -0.600021  6.39693     0.105716
                 A     W                DE
Date                                       
2005-09-19 -0.600021  6.950815            5
                 A      C               DE
Date                                      
2005-09-20 -0.59711  4.637831            3
                 A      G               DE
Date                                       
2005-09-20 -0.59711  6.396263     0.109079
                 A     W                 DE
Date                                      
2005-09-20 -0.59711  6.951772            5
                 A      C                DE
Date                                       
2005-09-21 -0.594207  4.641213            3
                 A     G                 DE
Date                                          
2005-09-21 -0.594207  6.40059     0.109055
                 A     W                DE
Date                                       
2005-09-21 -0.594207  6.955593            5

1 个答案:

答案 0 :(得分:2)

如果没有理由他们需要成为单独的数据框,您应该将它们组合成一个带有多索引的数据框,或者只是一个列,表明它们属于哪一对。然后,您可以分组来执行功能应用程序。

DF.groupby(['Date','pair']).apply(function)