Как добавить дату из имени файла в столбец времени, чтобы сделать столбец даты и времени?Питон Панды - PullRequest
0 голосов
/ 24 октября 2018

У меня есть несколько файлов с такими именами
2018-08-31-logfile-device1 2018-09-01-logfile-device1

, в этих файлах данные сортируются следующим образом:
00:00:00.283672analogue values:[2511, 2383, 2461, 2472] 00:00:00.546165analogue values:[2501, 2395, 2467, 2465]

Я добавляю все этифайлы в один большой массив данных с этим кодом: (я получил отсюда: Импорт нескольких файлов Excel в панды Python и объединение их в один кадр данных )

file_log = os.listdir(path)
file_log = [file_log for file_log in glob.glob('*device1*')]
df = pd.DataFrame()
for file_log in file_log:
    data = pd.read_csv(file_log,sep='analogue values:',names=['time', 
'col'], engine='python')
    df = data.append(data1)

Я преобразую данные, а затемэто выглядит так:
analog1 analog2 analog3 analog4 time 2511 2383 2461 2472 00:00:00.283672 2501 2395 2467 2465 00:00:00.546165 2501 2395 2467 2465 00:00:00.807846 2497 2381 2461 2467 00:00:01.070540 2485 2391 2458 2475 00:00:01.332163

но проблема в том, что я хочу, чтобы столбец времени был датой времени, где дата - это дата из имени файла, из которого он получен.

analog1 analog2 analog3 analog4 datetime 2511 2383 2461 2472 2018-08-31 00:00:00.283672 2501 2395 2467 2465 2018-08-31 00:00:00.546165 2501 2395 2467 2465 2018-08-31 00:00:00.807846 2497 2381 2461 2467 2018-08-31 00:00:01.070540 2485 2391 2458 2475 2018-08-31 00:00:01.332163

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете преобразовать первые 10 значений из имени файла по file[:10] в дату и добавить в столбец time, преобразованный в to_timedelta.

Затем append каждый DataFrame в списоки последнее использование concat

dfs = []
for file in glob.glob('*device1*'):
    data = pd.read_csv(file,sep='analogue values:',names=['time','col'], engine='python')
    data['datetime'] = pd.to_datetime(file[:10]) + pd.to_timedelta(data['time'])
    data = data.drop('time', axis=1)
    dfs.append(data)

df = pd.concat(dfs, ignore_index=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...