python - 如何在 Python Pandas 中将日期转换为季度而不重复前 5 年的季度?
问题描述
我想将日期转换为季度。我用过,
x['quarter'] = x['date'].dt.quarter
date quarter
0 2013-1-1 1
但是,它也会在明年重复同样的事情。
date quarter
366 2014-1-1 1
而不是,1
我希望(预期结果)季度是5
。
date quarter
366 2014-1-1 5
.
.
.
.
date quarter
731 2015-1-1 9
解决方案
您可以使用简单的数学运算
starting_year = 2013
df['quarter'] = df.year.dt.quarter + (df.year.dt.year - starting_year)*4
year quarter
0 2013-01-01 1
0 2014-01-01 5
0 2015-01-01 9
0 2016-01-01 13
推荐阅读
- sql - 选择最大值和按日期分组的相应行ID
- python - 如何自动调整我的 PyQt5 设计器窗口的大小
- javascript - 关于反应形式的角度验证问题
- python - 在excel列表python中搜索最接近的值
- java - JUnit 5 (JUnit Jupiter) 中 Cucumber BDD 场景示例功能的等效项是什么?
- javascript - 使用 Jest,我如何模拟组件中使用的模块的方法,以查看它被调用了多少次以及使用什么值
- ios - Zendesk 构建 UI 在 Xcode 11.6 中不显示导航栏
- error-handling - apache camel 中 doFinally 块的错误处理
- react-testing-library - React 测试库 - 多个 fireEvent 不检查文本
- fish - Fish 3 中带有空格和参数的别名