Невозможно вызвать strftime для numpy.datetime64, без определения

Как объединить ваши 2 столбца и использовать DISTINCT?

Select x, y, count(DISTINCT CONCAT(x, '_', y)) as 'count' from mytable group by x, y
13
задан deeb 4 February 2015 в 16:59
поделиться

2 ответа

Если Ваша цель только для представления t как строка, простое решение str(t). Если Вы хотите это в определенном формате, необходимо использовать одно из решений выше.

Один протест состоит в том, что np.datetime64 может иметь различные суммы точности. Если t будет иметь точность наносекунды, пользователь 12321, то решение будет все еще работать, но решения киви и John Zwinck не будут, потому что t.astype(datetime.datetime) и t.item() возвращаются int:

import numpy as np

print('second precision')
t = np.datetime64('2000-01-01 00:00:00') 
print(t)
print(t.astype(datetime.datetime))
print(t.item())

print('microsecond precision')
t = np.datetime64('2000-01-01 00:00:00.0000') 
print(t)
print(t.astype(datetime.datetime))
print(t.item())

print('nanosecond precision')
t = np.datetime64('2000-01-01 00:00:00.0000000') 
print(t)
print(t.astype(datetime.datetime))
print(t.item())
import pandas as pd 
print(pd.to_datetime(str(t)))


second precision
2000-01-01T00:00:00
2000-01-01 00:00:00
2000-01-01 00:00:00
microsecond precision
2000-01-01T00:00:00.000000
2000-01-01 00:00:00
2000-01-01 00:00:00
nanosecond precision
2000-01-01T00:00:00.000000000
946684800000000000
946684800000000000
2000-01-01 00:00:00
0
ответ дан 1 December 2019 в 19:16
поделиться

Для тех, кто мог бы наткнуться на это: numpy теперь имеет функция numpy.datetime_as_string. Только протест состоит в том, что это принимает массив, а не просто отдельное значение. Я мог сделать однако, что это - все еще лучшее решение, чем необходимость пользоваться другой библиотекой только, чтобы сделать преобразование.

0
ответ дан 1 December 2019 в 19:16
поделиться
Другие вопросы по тегам:

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