Как преобразовать дату и время в миллисекундах в пандах Python - PullRequest
0 голосов
/ 22 февраля 2019

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

import pandas as pd
import numpy as np
flyer = pd.read_csv("./csv/Flyers Dataset - Flyers Dataset.csv",parse_dates = ['timestamp'])

flyer.dropna(axis=0, how='any', thresh=None, subset=None, inplace=True)

pd.set_option('display.max_rows', 20)

flyer.to_csv('myfile.csv')

, поэтому переменная флаера - это, по сути, весь мой фрейм данных (это мой CSV-файл).CSV https://i.stack.imgur.com/qLq2U.png

любая обратная связь будет принята с благодарностью.Прошу прощения за любое форматирование по этому вопросу, это только мой второй.

С уважением,

Gratefull StackOverflow User

1 Ответ

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

Учитывая, что столбец 'timestamp' является объектом datetime, а ваша базовая контрольная дата - 1 октября 2018 года, вот как вы можете вычислить timedelta в миллисекундах

import pandas as pd
from datetime import datetime, timedelta, timezone

Во-первых, получите информацию о часовом поясе изваш пример ввода временной метки:

datetime.strptime('2018-10-01 13:56:36-0400', '%Y-%m-%d %H:%M:%S%z')
>>>datetime.datetime(2018, 10, 1, 13, 56, 36, tzinfo=datetime.timezone(datetime.timedelta(-1, 72000)))

Затем мы можем создать базовую дату с поддержкой tz с теми же сведениями о часовом поясе.После этого вы сможете выполнить вычитание.

base_date = datetime(2018,10,1, tzinfo=timezone(timedelta(-1,72000)))

flyer = pd.read_csv("./csv/Flyers Dataset - Flyers Dataset.csv",parse_dates = ['timestamp'])
flyer.dropna(axis=0, how='any', thresh=None, subset=None, inplace=True)

# 1000 milliseconds in a second
flyer.loc[:,'TimeDelta'] = flyer.loc[:,'timestamp'].apply(lambda x: (x - base_date).total_seconds() * 1000)

pd.set_option('display.max_rows', 20)

flyer.to_csv('myfile.csv')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...