繁体   English   中英

熊猫重新采样/按星期和年份分组

Pandas resample/groupby day of week and year

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试创建一个报告,该报告按每年的星期几分组。

我有一个看起来像这样的df:

                        s1      s2   srd
dt          
2004-02-04 11:21:00 2365.79 2372.37 -7.0
2004-02-05 10:15:00 2365.79 2368.03 -2.0
2004-02-17 06:43:00 2421.05 2425.26 -4.0
2004-02-17 12:43:00 2418.42 2420.53 -2.0
2004-02-17 12:44:00 2420.39 2420.53 -0.0

dt索引采用日期时间格式。

我正在寻找的是一个看起来像这样的数据框(我只需要srd列,就可以对函数进行分组,例如sum,count等):

                  srd
dayOfWeek  year         
Mon        2004    10
           2005    11
           2006    8
           2007    120
Tues       2004    105
           2005    105

我已经尝试过dayOfWeekDf = df.resample('B') ,但是我得到了一个看起来像是按周数分割的数据dayOfWeekDf = df.resample('B')

我也尝试了df.groupby([df.index.weekday, df.index.year])['srd'].transform('sum') ,但是由于某种原因它甚至没有分组,因为我得到了以下( 2月17日出现3次)。

                    srd
dt  
2004-02-04 11:21:00 81.0
2004-02-05 10:15:00 203.0
2004-02-17 06:43:00 37.0
2004-02-17 12:43:00 37.0
2004-02-17 12:44:00 37.0
1 个回复

如果要在索引中使用dayOfWeekyear名称,可以为其分配:

>>> df.assign(year=df.index.year, dayOfWeek = df.index.weekday_name).groupby(['dayOfWeek','year']).srd.sum()
dayOfWeek  year
Thursday   2004   -2.0
Tuesday    2004   -6.0
Wednesday  2004   -7.0
Name: srd, dtype: float64

否则,您可以使用自己的操作方式,但可以省略transform

>>> df.groupby([df.index.weekday_name, df.index.year])['srd'].sum()
dt         dt  
Thursday   2004   -2.0
Tuesday    2004   -6.0
Wednesday  2004   -7.0
Name: srd, dtype: float64
1 Python Pandas groupby月日年周

我有一个熊猫DataFrame看起来像这样: 我手动添加了周列,它们的类型为int。 我想按周,月,年对数据进行分组,即:2016年1月第1周,2016年1月第2周,2016年2月第2周。问题是我希望结果是一个DataFrame,其中Data1是列和Data2的总和是列的平均值。 ...

2 从一年的第一天开始对Pandas Dataframe进行每周重新采样

我有一个包含每小时数据的数据框,我想获取一年中每个星期的最大值,所以我使用重采样按周对数据进行分组 问题是,周最大值是从一年的第一天开始计算的,而我希望它是从一年的第一天开始计算的。 我得到以下结果,您会发现有53周,而上周是在下一年计算的,而数据中不存在2017年 有没有 ...

5 datetime groupby/resample 不同年份的月份和日期(删除年份)

我查看了 Pandas 中的重采样/时间分组功能。 但是,我试图弄清楚如何将它用于这种特定情况。 我想对金融资产进行季节性分析 - 假设是标准普尔 500 指数。我想知道资产在任何两个自定义日期之间的平均多年表现如何。 示例:如果我有 10 年标准普尔 500 指数每日变化的历史,并且我选择了 3 ...

6 在熊猫groupby情节栏中重新排序星期几

我对df数据进行了如下排序: Currentry在这篇文章的帮助下: 我的输出是: 如何以正确的顺序绘制星期几的直方图,例如:星期一,星期二...? 我已经找到了几种方法: 1 , 2 , 3 ,解决了这个,但在我的情况下使用它们无法找到方法。 谢谢大家的 ...

7 Python-Pandas:使用年,年中的星期和星期几构造日期

有没有一种方法,可以使用熊猫根据3种输入构造Timestamp : 年(例如:2010年) 一年中的一周(例如:3:第三周) 星期几:(例如星期一) 在该特定示例中,结果将为Timestamp('2010-01-18') 任何人都有实现这一目标的聪明方法的 ...

8 如何将pandas.DataFrame(一周)重新采样到平均天数

我有几天(甚至几周)的数据每天都以完全相同的时间间隔获取,因此我想计算一条平均时间曲线。 到目前为止,我尝试了每日平均值,但是每天却没有一个平均值……我需要的是在每个可用时间的所有可用天中取一个平均值。 知道正确的命令可能很容易。 不幸的是,我对熊猫还很陌生。 甚至只是一个提示,在文档中 ...

9 Python Pandas 使用日时间框架数据重新采样年份数据

这是我存储在 df1 中的每日 ohlc 数据的小样本。 我想创建一个数据框 (df2),它表示活动年份蜡烛在进展过程中的样子。 收盘价为当天收盘价,最高价为1月1日至当天的最高价,最低价为1月1日至当天的最低价,开盘价为当年开盘价。 应该是这样的: 很想放一些代码,但我在这里迷路了,我认为 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM