【发布时间】:2022-11-22 19:21:09
【问题描述】:
我尝试使用 pd.to_datetime(df, format='%Y-%m-%d_%H-%M-%S') 将一列日期转换为 datetime 但我收到错误 ValueError: unconverted data remains: .1
我跑了:
data.loc[pd.to_datetime(data.date, format='%Y-%m-%d_%H-%M-%S', errors='coerce').isnull(), 'date']
找出问题所在。 date 列中的 119/1037808 日期在其末尾有一个额外的“.1”。除了“.1”之外,日期都很好。如何仅从这些日期的末尾删除“.1”,然后将列值转换为日期时间?
这是一个重现问题的示例数据框:
import pandas as pd
data = pd.DataFrame({"date" : ["2022-01-15_08-11-00.1","2022-01-15_08-11-30","2022-01-15_08-12-00.1", "2022-01-15_08-12-30"],
"value" : [1,2,3,4]})
我努力了:
data.date = data.date.replace(".1", "")
和
data = data.replace(".1", "")
但这些并没有删除“.1”。最终结果应如下所示:
data = pd.DataFrame({"date" : ["2022-01-15_08-11-00","2022-01-15_08-11-30","2022-01-15_08-12-00", "2022-01-15_08-12-30"],
"value" : [1,2,3,4]})
【问题讨论】:
标签: python pandas string datetime