Python 如何将dataframe日期时间列快速转换为Quanlib日期
让我们假设datetime列之一,如下所示Python 如何将dataframe日期时间列快速转换为Quanlib日期,python,dataframe,apply,python-datetime,quantlib,Python,Dataframe,Apply,Python Datetime,Quantlib,让我们假设datetime列之一,如下所示 PORT['ISSUE_DT'] 0 2019-01-31 1 2018-10-24 2 2018-11-16 3 2018-11-16 4 2018-11-16 如何快速将其转换为Quanlib日期? 我可以如下转换一个元素,有没有不使用“for”的方法 #数据 d=端口['ISSUE_DT'][0] #将datetime转换为qt日期 d_qt=日期(日、月、年) 我知道有像R这样的apply函数,但我不知道如何处理class属性的
PORT['ISSUE_DT']
0 2019-01-31
1 2018-10-24
2 2018-11-16
3 2018-11-16
4 2018-11-16
如何快速将其转换为Quanlib日期?
我可以如下转换一个元素,有没有不使用“for”的方法
#数据
d=端口['ISSUE_DT'][0]
#将datetime转换为qt日期
d_qt=日期(日、月、年)
我知道有像R这样的apply函数,但我不知道如何处理class属性的apply QuantLib Python有3种构造日期对象的方法:
- ql.Date(serialNumber),其中序列号与excel相同
- ql.Date(日、月、年)
- ql.Date(日期字符串、格式字符串)
PORT.ISSUE\u DT=PORT.ISSUE\u DT.astype(str).apply(lambda d:ql.Date(d,'%Y-%m-%d'))
这将把列从strings转换为ql.Date谢谢@David Durate。它起作用了。我在尝试一些愚蠢的非工作的东西,比如下面的
python dd=lambda x:x.day mm=lambda x:x.month yy=lambda x:x.year apply(日期,端口['ISSUE\u DT'].apply(dd),端口['ISSUE\u DT'].apply(mm),yy=lambda x:x.year)