将时间对象时间转换为日期时间,并将日期时间转换为值

时间:2018-11-06 17:58:03

标签: python pandas numpy

您好,我目前正在使用IEX的数据集,似乎无法将时间转换为可以使用的值。

我遍历数据框并将值转换为日期时间

for i, row in enumerate(df['label']):
df['date'][i]=datetime.strptime(df['label'][i], format)

这给了我新的一列,但是如果我将其索引为df['label'][1].hour,则只能访问小时/分钟

当我尝试再次遍历以拉取值以得到键盘错误:时间

for i, row in enumerate(df['date']):
df['Time'][i]=((df['date'][i].hour -9)*60 +df['date'][i].minute)

2 个答案:

答案 0 :(得分:0)

这在使用Python3的ipython笔记本中有效

import json
import pandas as pd
from pandas import *
import datetime

convert_hour = lambda x: datetime.datetime.strptime(x , '%H:%M %p').strftime('%H') if len(x) > 5 else datetime.datetime.strptime(x , '%I %p').strftime('%H')
df['hour'] = df['label'].apply(convert_hour)
convert_minute = lambda x: datetime.datetime.strptime(x , '%H:%M %p').strftime('%M') if len(x) > 5 else 0
df['minute2'] = df['label'].apply(convert_minute)

答案 1 :(得分:0)

谢谢你们的支持,我找到了答案

对于i,为enumerate(df ['date'])中的行:     df ['label'] [i] =((((df ['date'] [i] .hour-9)* 60)+ df ['date'] [i] .minute)