gpt4 book ai didi

Python pandas - 按不同年份的每周数据分组 - 重新采样

转载 作者:太空宇宙 更新时间:2023-11-03 19:53:42 24 4
gpt4 key购买 nike

我正在尝试使用“groupby”将 3 年的每日数据分组为每周数据。

因此,我只想获取与 2017 年 1 月、2017 年 2 月、依此类推直到 2019 年 12 月这四个星期相关的数据。

到目前为止我拥有的代码和原始数据的示例如下所示:

prices = pd.read_csv("name_of_file.csv", header=1, index_col=0)    
prices.index = pd.to_datetime(prices.index, format='%d/%m/%Y')
a=prices.groupby(prices.index.week).head(1)
c=prices.groupby(prices.index.week).tail(1)

a & c 输出 2017 年和 2019 年所需的数据,但不输出 2018 年的数据。使用 resample('w').mean() 效果很好,但我再次想要确切的数据而不是它的平均值。

                  A        AAL         AAP  
Date
2017-01-03 45.265160 44.906567 169.691284
2017-01-04 45.859093 45.294525 171.083817
2017-01-05 45.313847 44.508907 170.964462
2017-01-06 46.725651 44.819275 168.726456
2017-01-09 46.871700 45.663097 168.626968

您知道如何实现上述目标吗?谢谢

最佳答案

我不确定我是否正确理解了你的问题(缺乏示例数据也无济于事)。

我认为您想要的是使用每个列的不同函数来聚合每周数据,即为 ab 获取每周的第一个 列和最后 值 - 对于列c

如果是这样,请尝试这个:

prices.groupby([pd.Grouper(freq="W")]).agg({"a": "first", "b": "first", "c": "last"})

(您也可以使用其他聚合方式,例如 {"a": "sum", "b": "mean", ...})

<小时/>

更新。

尝试df.resample("W").first()df.resample("7D").first()

关于Python pandas - 按不同年份的每周数据分组 - 重新采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59671444/

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