Горячий использовать pd.datetime () на отметке времени в миллисекундах? - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь преобразовать свое время из объекта (как я читал его из файла CSV) в формат даты и времени.мой формат времени - 07: 00: 00.16 (час: минуты: секунды. миллисекунды)

import pandas as pd 
df=pd.read_csv('Copy.txt')
df.columns = df.columns.str.strip()
df['Time']=pd.to_datetime(df.Time, errors = 'coerce')

Мой результат - все столбец времени "NaT"

Если я использую: df['Time']=pd.to_datetime(df.Time)

чем я получаю эту ошибку: OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 1-01-01 07:00:00

Просьба дать совет, как изменить тип столбца и сохранить полные данные в миллисекундах.спасибо!

формат данных:

0       07:00:00.0
1       07:00:00.1
2       07:00:00.2
3       07:00:00.3
4       07:00:00.4
5       07:00:00.5
6       07:00:00.6
7       07:00:00.7
8       07:00:00.8
9       07:00:00.9
10     07:00:00.10
11     07:00:00.11
12     07:00:00.12
13     07:00:00.13
14     07:00:00.14
15     07:00:00.15
16     07:00:00.16
Name: Time, dtype: object

1 Ответ

0 голосов
/ 18 февраля 2019

Если у вашего CSV есть время, хранящееся в строковом формате, таком как '07:00:00.16', вы можете просто указать формат и извлечь часть time, чтобы преобразовать ваш столбец в datetime объект:

df['Time'] = pd.to_datetime(df['Time'], format='%H:%M:%S.%f').dt.time
...