gpt4 book ai didi

python - pd.to_datetime 或解析日期时间不适用于我的 csv 文件(格式 : dd/mm/yyyy, hh:mm:ss)

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:56 28 4
gpt4 key购买 nike

我从我的 csv 文件中提取了下表

Date,Time,CO2(ppm),CellTemp(c),CellPres(kPa)  
10/08/2016,13:21:11,356.89,51.07,99.91
10/08/2016,13:21:12,356.89,51.07,99.91
10/08/2016,13:21:13,356.83,51.07,99.91

我研究了最近几天并尝试了不同的方法让 pandas 将 DateTime 列读取为 datetime,但我只是做不到。以下是我尝试过的一些方法:

df = pd.read_csv(myfile)
print(df.dtypes)

我得到:

Date             object  
Time object
CO2(ppm) object
CellTemp(c) object
CellPres(kPa) object
dtype: object

当我尝试时:

df_2 = pd.read_csv(file, parse_dates=[['Date', 'Time']]) 
print(df_2.dtypes)

我明白了

Date_Time        object  
CO2(ppm) object
CellTemp(c) object
CellPres(kPa) object
dtype: object

所以,现在 DateTime 在一列中 (11/08/2016 14:06:18)(我想要的),但未识别为 datetime

当我尝试时:

pd.to_datetime(df_2['Date_Time'], format='%d/%m/%Y %H:%M:%S)

我收到错误信息:

File "<ipython-input-31-ace4ed1a0aa9>", line 1
pd.to_datetime(df_2['Date_Time'],format='%d/%m/%Y %H:%M:%S
SyntaxError: EOL while scanning string literal

当我尝试时:

import dateutil.parser
dateutil.parser.parse(df_2['Date_Time'])

我得到(除了一些其他输出)错误信息:

AttributeError: 'Series' object has no attribute 'read'

我还在 Excel 中手动将日期格式更改为 yyyy-mm-dd 并尝试了相同的操作但没有任何更好的结果。我有点认为这一定是我犯的一个非常基本的错误,我是脚本编写的新手,希望得到任何帮助。如果我的问题有格式错误,请道歉我真的试过了。

最佳答案

看起来有一些错误的日期时间或某些值无法转换为日期时间,因此您可以在to_datetime中添加参数errors='coerce'将它们转换为 NaT:

#31.11. does not exist
print (df_2)
Date_Time CO2(ppm) CellTemp(c) CellPres(kPa)
0 10/08/2016 13:21:11 356.89 51.07 99.91
1 10/08/2016 13:21:12 356.89 51.07 99.91
2 31/11/2016 13:21:13 356.83 51.07 99.91

df_2['Date_Time'] = pd.to_datetime(df_2['Date_Time'],
format='%d/%m/%Y %H:%M:%S',
errors='coerce')
print (df_2)
Date_Time CO2(ppm) CellTemp(c) CellPres(kPa)
0 2016-08-10 13:21:11 356.89 51.07 99.91
1 2016-08-10 13:21:12 356.89 51.07 99.91
2 NaT 356.83 51.07 99.91

您还可以通过以下方式检查所有有问题的值:

print (df_2[pd.to_datetime(df_2['Date_Time'],format='%d/%m/%Y %H:%M:%S', errors='coerce').isnull()])
Date_Time CO2(ppm) CellTemp(c) CellPres(kPa)
2 31/11/2016 13:21:13 356.83 51.07 99.91

关于python - pd.to_datetime 或解析日期时间不适用于我的 csv 文件(格式 : dd/mm/yyyy, hh:mm:ss),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38968811/

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