我想在我的数据集中转换一个列,该列具有从句点的开始日期到日期的天数。
以下是我想在熊猫中实现的一个例子:
#This doesn't not work
sdate = datetime(2015, 10, 1)
ndf['Date'] = ndf['Date'].apply(lambda x: sdate + x)
答案 0 :(得分:2)
您需要将'Date'
列转换为timedelta
,然后将sdate
添加到其中。
矢量化方式的一个例子 -
sdate = datetime(2015, 10, 1)
ndf['Date'] = pd.to_timedelta(ndf['Date'],unit='d') + sdate
这会使列成为datetime
类型(不是字符串)。
演示 -
In [18]: from datetime import datetime
In [19]: sdate = datetime(2015, 10, 1)
In [20]: df
Out[20]:
Date
0 1
1 1
2 3
3 5
In [21]: df['Date'] = pd.to_timedelta(df['Date'],unit='d') + sdate
In [22]: df
Out[22]:
Date
0 2015-10-02
1 2015-10-02
2 2015-10-04
3 2015-10-06