gpt4 book ai didi

Python pandas dataframe - 每日数据 - 获取每年的第一天和最后一天

转载 作者:行者123 更新时间:2023-12-02 19:10:52 28 4
gpt4 key购买 nike

我有一个 Python pandas 数据框,其中包含每日数据,如下所示:

            Date       Open       High        Low      Close  Adj Close   Volume
0 2009-12-31 31.709999 31.840000 31.299999 31.309999 23.547892 1957700
1 2010-01-04 31.480000 31.840000 31.330000 31.469999 23.668222 3472500
2 2010-01-05 31.549999 31.770000 31.400000 31.639999 23.796082 3458700
3 2010-01-06 31.600000 31.889999 31.430000 31.559999 23.735907 3745800
4 2010-01-07 31.549999 31.700001 31.049999 31.230000 23.487726 7232100

如何保存每年的第一个和最后一个条目?如果一年的最后一个条目是 10 月 31 日,我想将其保留为今年的最后一个条目。

最佳答案

  1. 如果行尚未按排序顺序,则按日期排序,例如:

    df = df.sort_values(by='日期')

  2. 按年份分组,仅保留每组的第一个和最后一个元素:

    df.groupby(pd.DatetimeIndex(df.Date).to_period('Y')).nth([0,-1])

使用问题中的示例数据框进行输出:

     Volume        Date       Open       High        Low    Close        Adj
Date
2009 0 2009-12-31 31.709999 31.840000 31.299999 1957700 23.547892
2010 1 2010-01-04 31.480000 31.840000 31.330000 3472500 23.668222
2010 4 2010-01-07 31.549999 31.700001 31.049999 7232100 23.487726

注意:如果每年只有一个条目,如示例 (2009) 中所示,则该行将仅在输出中出现一次,而不是两次,但如果用于实际数据,则不会无论如何,这是一个问题。

关于Python pandas dataframe - 每日数据 - 获取每年的第一天和最后一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64296273/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com