我遇到了以下问题:
我的数据中的日期-时间列获得了以下时间格式(列是“Date”dd.mm.yyyy
和“Time”hh:mm:ss.fff,f
):
01.03.2019 12:29:15.732,7
字符串
我环顾四周,但我找不到一个格式化选项,它处理逗号后面的部分(毫秒之后)。一个对我没有帮助的来源:https://docs.python.org/2/library/datetime.html
我正在用python3和pd.read_csv()
阅读csv文件。
我得到了下面的解决方法,它截断了逗号和它后面的密码。
它非常慢,因为我的数据集中有超过50000个字符串被截断:
data = pd.read_csv('xyz.csv', sep=';', low_memory = False, parse_dates = [['Date', 'Time']],
date_parser = lambda x, y : pd.to_datetime((x + ' ' + y)[:23], format='%d.%m.%Y %H:%M:%S.%f'))
型
我想要的是使用字符串格式来处理逗号,要么放弃整个毫秒部分,要么将其正确转换为微秒。
注解:对于R,我只是使用了"%d.%m.%Y %H:%M:%S"
,它丢弃了毫秒而没有抛出错误。
2条答案
按热度按时间xtupzzrd1#
ResidentSleeper是正确的,您可以使用
pd.to_datetime()
并删除逗号。字符串
gwo2fgha2#
如果一些日期格式的列有一个或多个逗号,您可以使用
DataFrame.replace
消除逗号,并将regex选项设置为True:字符串