【问题标题】:Time Series manipulation时间序列操作
【发布时间】:2016-04-04 12:55:58
【问题描述】:

所以我有一个数据框,我将时间序列转储到其中。 索引是日期。我需要根据日期进行计算。

例如。我有 {

     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 }

我将如何着手说... 从月初到月底的百分比变化?我将如何构建一个循环来循环几个月?

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

【问题讨论】:

    标签: python-2.7 pandas time-series


    【解决方案1】:

    首先创建年月列:

    df['year'] = [x.year for x in df.index]
    df['month'] = [x.month for x in df.index]
    

    按他们分组:

    grouped = df.groupby(['year','month'])
    

    定义要在组上运行的函数:

    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] 你认为这是最好的方法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 2017-06-14
    • 2020-06-07
    • 1970-01-01
    • 2021-10-03
    相关资源
    最近更新 更多