Ошибка в Pandas рассчитывает разницу во времени в секундах

Интересно, что ни один из ответов на этой странице не упоминает два крайних случая, надеюсь, никто не возражает, если я их добавлю:

Случай с краем # 1: одновременный доступ к Словарю

Родовые словари в .NET не являются потокобезопасными, а иногда могут бросать NullReference или даже (чаще) a KeyNotFoundException при попытке получить доступ к ключу из двух параллельных потоков. Исключение в этом случае является довольно ошибочным.

Случай с краем # 2: небезопасный код

Если код NullReferenceException задан кодом unsafe, вы можете посмотреть на переменные указателя , и проверьте их на IntPtr.Zero или что-то в этом роде. Это одно и то же («исключение нулевого указателя»), но в небезопасном коде переменные часто переводятся в типы значений / массивы и т. Д., И вы ударяете головой о стену, задаваясь вопросом, как тип значения может исключение.

(Еще одна причина для небезопасного использования небезопасного кода, если вам это нужно)

0
задан Kiann 13 July 2018 в 12:26
поделиться

1 ответ

Мне кажется, нужно преобразовать столбец date в datetime s - лучше всего в read_csv :

data = pd.read_csv(file, sep='\t', lineterminator='\n', paarse_dates=['TIME_STAMP'])

Или преобразовать столбец по to_datetime :

df.assign(seconds=pd.to_datetime(df.date).diff().dt.seconds)
1
ответ дан jezrael 17 August 2018 в 12:53
поделиться
  • 1
    Это работает? Я пытаюсь скопировать данные из вопроса, но не удалось :( – jezrael 13 July 2018 в 13:30
  • 2
    это работает: df = dataFil df.assign (seconds = pd.to_datetime (df.date) .diff (1) .dt.seconds) .head () – Kiann 13 July 2018 в 13:32
  • 3
    ***, но ***, безумно, когда я снова загружаю df, столбец «секунд» исчезает .... df = df.assign (seconds = pd.to_datetime (df.date) .diff (1) .dt. секунд) .head () .... это ответ !!! – Kiann 13 July 2018 в 13:33
Другие вопросы по тегам:

Похожие вопросы: