我有一个csv输出的热模拟,我想进行数据分析,使用熊猫。
在将csv导入熊猫数据后,我想操作时间戳并将其导入。
起始格式如下(以空格开头,有美国数据格式,缺少年份)。
' 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 :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')发布于 2016-06-20 12:43:52
应该将格式指定为to_datetime函数,因为它不是默认格式:
pd.to_datetime(x, format='%Y/%m/%d_%H:%M')https://stackoverflow.com/questions/37922792
复制相似问题