2017-05-01 88 views

回答

0

考慮數據框df

df = pd.DataFrame(dict(A=range(100)), pd.date_range('2010-03-31', periods=100)) 

觀察你要求從一月份開始至下月初切片。典型的python切片不包括終點(雖然loc)。我假設你打算排除它,因爲這使得這個答案方便。

使用resample與頻率'M'

df.resample('M').sum() 

       A 
2010-03-31  0 
2010-04-30 465 
2010-05-31 1426 
2010-06-30 2295 
2010-07-31 764 

您可以通過每個月迭代

for m, grp in df.groupby(pd.TimeGrouper('M')): 
    # do stuff 
    print(m) 

2010-03-31 00:00:00 
2010-04-30 00:00:00 
2010-05-31 00:00:00 
2010-06-30 00:00:00 
2010-07-31 00:00:00