Как преобразовать массив datetime64 в int? - PullRequest
0 голосов
/ 26 августа 2018

С этим

pd.Timestamp("31.12.1999 23:59:12").value
>>946684752000000000

Я могу получить целочисленное значение элементарного значения datetime.

Как мне сделать это для массива значений даты и времени?

df = pd.DataFrame({"a": ["31.12.1999 23:59:12", "31.12.1999 23:59:13", "31.12.1999 23:59:14"], "b": [4, 5, 6]})
df.insert(0, 'date', df.a.apply(lambda x: datetime.datetime.strptime(x, "%d.%m.%Y %H:%M:%S")))

Видимо, это не работает:

df.date.values.value
>>AttributeError: 'numpy.ndarray' object has no attribute 'value'

1 Ответ

0 голосов
/ 26 августа 2018

Используйте to_datetime с преобразованием в np.int64:

df['int'] = pd.to_datetime(df['a']).astype(np.int64)

print (df)
                     a  b                 int
0  31.12.1999 23:59:12  4  946684752000000000
1  31.12.1999 23:59:13  5  946684753000000000
2  31.12.1999 23:59:14  6  946684754000000000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...