我想将数据集中的一列转换为日期,其中该列包含从周期开始日期算起的天数。
这是我试图在 pandas 中实现的示例:
#This doesn't not work
sdate = datetime(2015, 10, 1)
ndf['Date'] = ndf['Date'].apply(lambda x: sdate + x)
最佳答案
您需要将 '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
关于python - 用 Pandas 转换日期列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33296568/