python - 用 Pandas 转换日期列

标签 python pandas

我想将数据集中的一列转换为日期,其中该列包含从周期开始日期算起的天数。

这是我试图在 pandas 中实现的示例:

enter image description here

#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/

相关文章:

python - 数据框 - 为相应的索引赋值

python - 从字符串创建两个列表,排除和包含括号之间的字符串

python - Pandas read_excel() 导入 xlrd 失败

java - Python 中的多重继承;如何在 Java 中这样做?

python - 为什么 python 在某些事情上使用两个下划线?

Python从文本文件加载列表中的列表

python - 如何使用 tkinter 沿着鼠标坐标绘制一条线?

python - Pandas 使用训练数据框列选择测试数据框列

python - Pandas 中的分组和自动递增组ID

Python selenium chromedirver( headless )使用代理(IPV6)和身份验证