您好,我目前正在使用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)
答案 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)