как разобрать нестроковый столбец как datetime с pandas.read_csv - PullRequest
1 голос
/ 20 сентября 2019

Моя проблема заключается в следующем: у меня есть файл .csv, подобный следующему:

TS,secs,degC,Pa,V,V,V,V,V,degC,%
2019-08-29 15:29:02.000,0.000,23.21,97707.95,2.37942,4.06958,1.16183,2.06545,2.16861,22.70,53.70,
2019-08-29 15:29:04.000,2.001,23.22,98000.81,2.30359,4.04178,1.15457,2.06375,2.16660,22.70,54.00,

Я хочу проанализировать первый столбец TS как дату и время, но в моем .csvФайл первого столбца не является строкой.Код, который я попробовал, выглядит следующим образом:

DATA = pd.read_csv('file.csv',sep=',',parse_dates=[0])

Но ошибка, которую я получаю, такова:

TypeError: 'NoneType' object has no attribute '__getitem__'

Есть ли способ проанализировать столбец без " " какдата и время с использованием pandas.read_csv?Я также открыт для другого подхода, но конечным результатом должен быть кадр данных pandas с первым столбцом в формате datetime.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

Проблема здесь в том, что первый столбец с содержимым даты анализируется как столбец индекса.Чтобы проанализировать его в формате даты и времени, вам нужно сделать следующее:

DATA = pd.read_csv('file.csv', sep=',')
DATA.index = pd.to_datetime(DATA.index)

, тогда ваш индексный столбец будет иметь формат даты и времени:

DATA.index
DatetimeIndex(['2019-08-29 15:29:02', '2019-08-29 15:29:04'], dtype = 'datetime64[ns]', freq=None)
0 голосов
/ 20 сентября 2019

Просто изменение входных данных работает так, как вы ожидаете (Удаление запятой в конце.)

Данные:

TS,secs,degC,Pa,V,V,V,V,V,degC,%
2019-08-29 15:29:02.000,0.000,23.21,97707.95,2.37942,4.06958,1.16183,2.06545,2.16861,22.70,53.70
2019-08-29 15:29:04.000,2.001,23.22,98000.81,2.30359,4.04178,1.15457,2.06375,2.16660,22.70,54.00

и читайте, как указано ниже:

df=pd.read_csv('file.csv', parse_dates=['TS'])

и df.dtypes дает желаемый результат

TS        datetime64[ns]
secs             float64
degC             float64
Pa               float64
V                float64
V.1              float64
V.2              float64
V.3              float64
V.4              float64
degC.1           float64
%                float64
dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...