gpt4 book ai didi

python - 将列字符串转换/解析为日期时间值 - pandas

转载 作者:太空宇宙 更新时间:2023-11-04 03:11:17 25 4
gpt4 key购买 nike

我有一个热模拟的 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 年信息。

谢谢!

编辑:下面添加的代码注意 native 格式为“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')

最佳答案

您应该将格式指定给 to_datetime 函数,因为它不是默认格式:

pd.to_datetime(x, format='%Y/%m/%d_%H:%M')

关于python - 将列字符串转换/解析为日期时间值 - pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37922792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com