Использовать Pandas для интерполяции и хранить данные временных рядов с отметкой времени вместо строки даты и времени? - PullRequest
0 голосов
/ 11 марта 2019

У меня есть кадр данных Pandas, который включает столбец отметки времени, начинающийся с 0.

Первая строка всегда начинается в момент времени = 0, а следующие строки получают относительное время из этой точки.Так, например, вторая строка следует через 0,25 секунды после первой, очевидно, она получает метку времени 0,25.

Я хочу использовать столбец отметки времени в основном для возможности повторной выборки и интерполяции.Так что, насколько мне известно, для этой цели это должен быть некоторый связанный с временем dtype (pd.Timestamp в моем случае).

Теперь, что мне дополнительно нужно, - это возможность сохранить фрейм данных какфайл CSV впоследствии.К сожалению, столбец pd.Timestamp хранится в виде строки даты и времени в формате

1970-01-01 00:00:00.000000000

Однако я бы хотел сохранить его так, как он есть: как значение с плавающей запятой, начиная с 0.0.

Я думаю о том, чтобы сохранить метку времени в кадре данных в виде двух отдельных столбцов, один в формате pd.Timestamp, а другой с тем же исходным значением, что и float.

Хотя дополнительно значения данных с плавающей точкой в ​​кадре хранятся в формате %7.3f.Тем не менее, значение с плавающей запятой временной метки должно быть более точным, что-то вроде %.6f или даже больше десятичных цифр.Так что в дополнение ко всему вышеперечисленному мне нужен другой формат с плавающей точкой для одного столбца.

Как я могу сделать все это вместе?

1 Ответ

2 голосов
/ 11 марта 2019

Ваше время звучит для меня больше похоже на Timedelta с . Вы можете инициализировать их как 0, добавить их вместе, а затем представить их как число с плавающей запятой с pd.Timedelta.total_seconds().

import pandas as pd
t0 = pd.Timedelta(0)
t1 = t0 + pd.Timedelta('0.25s')

t1_as_float = t1.total_seconds()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...