Python 2.7 时间序列操纵

Python 2.7 时间序列操纵,python-2.7,pandas,time-series,Python 2.7,Pandas,Time Series,因此,我有一个数据帧,我将一个时间序列转储到其中索引是日期。我需要根据日期做计算 XRT_Close Date 2010-01-04 35.94 2010-01-05 36.17 2010-01-06 36.50 ... 2015-02-07 36.60 2015-02-08 36.52 } 因为我有{ XRT_Close Date 2010-01-04

因此,我有一个数据帧,我将一个时间序列转储到其中索引是日期。我需要根据日期做计算

     XRT_Close
Date                 
2010-01-04      35.94
2010-01-05      36.17
2010-01-06      36.50
...
2015-02-07      36.60
2015-02-08      36.52 }
因为我有{

     XRT_Close
Date                 
2010-01-04      35.94
2010-01-05      36.17
2010-01-06      36.50
...
2015-02-07      36.60
2015-02-08      36.52 }
我将如何做,比如说…月初到月底的百分比变化?我将如何构建一个循环来循环整个月

     XRT_Close
Date                 
2010-01-04      35.94
2010-01-05      36.17
2010-01-06      36.50
...
2015-02-07      36.60
2015-02-08      36.52 }

任何帮助都会得到极大的感谢。谢谢。

首先创建年份和月份列:

     XRT_Close
Date                 
2010-01-04      35.94
2010-01-05      36.17
2010-01-06      36.50
...
2015-02-07      36.60
2015-02-08      36.52 }
df['year'] = [x.year for x in df.index]
df['month'] = [x.month for x in df.index]
由他们分组:

     XRT_Close
Date                 
2010-01-04      35.94
2010-01-05      36.17
2010-01-06      36.50
...
2015-02-07      36.60
2015-02-08      36.52 }
grouped = df.groupby(['year','month'])
定义要在组上运行的函数:

     XRT_Close
Date                 
2010-01-04      35.94
2010-01-05      36.17
2010-01-06      36.50
...
2015-02-07      36.60
2015-02-08      36.52 }
def PChange(df):
    begin = df['column_name'].iloc[0]
    end = df['column_name'].iloc[-1]
    return (end-begin)/(end+begin)*100
 grouped.apply(PChange)
将该功能应用于以下组:

     XRT_Close
Date                 
2010-01-04      35.94
2010-01-05      36.17
2010-01-06      36.50
...
2015-02-07      36.60
2015-02-08      36.52 }
def PChange(df):
    begin = df['column_name'].iloc[0]
    end = df['column_name'].iloc[-1]
    return (end-begin)/(end+begin)*100
 grouped.apply(PChange)

让我知道它是否有效。

谢谢你的帮助。它给了我一种不同的思考方式来处理这些事情。但是索引被视为一个字符串,你会如何攻击它?我只是添加了:df['Date']=[pd.to_datetime(x)for x in df.Date]你认为这是最好的方法吗?
     XRT_Close
Date                 
2010-01-04      35.94
2010-01-05      36.17
2010-01-06      36.50
...
2015-02-07      36.60
2015-02-08      36.52 }