我有一个热模拟的csv输出,我想用pandas进行数据分析。
将csv导入pandas数据帧后,我想操纵时间戳并将其导入。
起始格式如下(以空格开头,有美国数据格式,缺少年份)。
' 05/01 01:00:00'
' 05/01 02:00:00'
' 05/01 03:00:00'
' 05/01 04:00:00'
' 05/01 05:00:00'
我被建议用循环函数解决它,我写的如下:
timestamp = []
for ns in raw_datetime:
#timestamp.append(ns[5:7] + '.' + ns[2:4] + '_' + ns[9:11] + '00h')
timestamp.append('2016' + '/' + ns[2:4] + '/' + ns[5:7] + '_' + ns[9:11] + ':00')
,其中
raw_datetime = df[' Date/Time'] #original data column
这很好,并返回我想要的日期时间格式。
['2016/05/01_01:00', '2016/05/01_02:00', '2016/05/01_03:00', '2016/05/01_04:00']
然而, pd.to_datetime 函数似乎无法使用它,因为这似乎需要列表而不是系列(?)。
我遇到了解析和功能的概念,如:
raw_datetime.str.extract('string', expand=True)
但是,我不确定如何做到这一点,同时翻转月和日并添加原始数据中不存在的2016年信息。
谢谢!
编辑:下面添加的代码 注:原生格式为'05/01 01:00:00',即:双倍空格,月,日,双倍空格,hh,mm,ss)]
第一次尝试
df = pd.read_csv('./SimResults.csv')
a = pd.to_datetime(df[' Date/Time'], format=' %m/%d %H:%M:%s')
第二次尝试:
df = pd.read_csv('./SimResults.csv')
raw_datetime = df[' Date/Time'].str.lstrip(' ')
raw_datetime = ('2016/') + raw_datetime
b = pd.to_datetime(raw_datetime, format='%Y/%m/%d %H:%M:%S')
答案 0 :(得分:2)
您应该将格式指定为app.js
函数,因为它不是默认格式:
bin\www