Python:将以秒表示的时间转换为一系列的日期时间

时间:2019-02-24 09:47:17

标签: python-3.x datetime

从1990年1月1日起,我有一列时间表示为秒,我需要将其转换为DateTime。我可以找出一个常数(例如,增加10秒)而不是一个序列或一列的方式。

我最终尝试编写一个循环来一次完成这一行。 (可能不是正确的方法,而我是python的新手)。

此代码适用于单行:

def addSecs(secs):
    fulldate = datetime(1990,1,1)
    fulldate = fulldate + timedelta(seconds=secs)
    return fulldate

    b= addSecs(intag112['outTags_1_2'].iloc[1])

print(b)
  

2018-06-20 01:05:13

有人知道对数据框中的整个列执行此操作的简单方法吗?

我尝试过:

for i in range(len(intag112)):
    intag112['TransactionTime'].iloc[i]=addSecs(intag112['outTags_1_2'].iloc[i])

但是它出错了。

1 个答案:

答案 0 :(得分:0)

如果您想对DataFrame中的列(系列)进行某些操作,则可以使用apply方法,例如:

import datetime
# New column 'datetime' is created from old 'seconds'
df['datetime'] = df['seconds'].apply(lambda x: datetime.datetime.fromtimestamp(x))

查看documentation了解更多示例。总体建议-尝试从值的向量(或系列)方面进行思考。熊猫中的大多数操作都可以对整个系列甚至数据框进行。