我有这样一个熊猫数据框:
Firm Date Quarter
A 2019-06-30 0
A 2019-06-30 1
A 2019-06-30 2
A 2019-06-30 3
B 2017-06-30 0
B 2017-06-30 1
B 2017-06-30 2
B 2017-06-30 3
我想创建一个新的QDate
列,将Quarter
(季度结束日期)列中的季度数减去Date
列中的每个日期,因此得到下表:
Firm Date Quarter QDate
A 2019-06-30 0 2019-06-30
A 2019-06-30 1 2019-03-31
A 2019-06-30 2 2018-12-31
A 2019-06-30 3 2018-09-30
B 2017-06-30 0 2017-06-30
B 2017-06-30 1 2017-03-31
B 2017-06-30 2 2016-12-31
B 2017-06-30 3 2016-09-30
考虑到我在Date
列中有大量公司和不同的值,我想知道如何创建一个函数,我可以用它自动完成这项工作,我知道有一个函数:pd.tseries.offsets.QuarterEnd()
,因此本质上,我猜它将对数据集的每一行应用以下代码,但参数“n”基于列“Quarter”:
df["QDate"] = df["Date"] - pd.tseries.offsets
.QuarterEnd(n = 0, 1, 2, 3...)
如果你能帮我做这件事,我将不胜感激!谢谢
首先使用^{} 将} 将} ,并从
Date
列转换为datetime
系列,然后使用^{Quarter
列映射到^{Date
中减去它以获得所需的结果:结果:
相关问题 更多 >
编程相关推荐