Экспорт временных рядов pandas с временными отметками unix [дубликат]

tl; dr non-captureuring groups, как следует из названия, являются частями регулярного выражения, которые вы не хотите включать в соответствие, и ?: - способ определить группу как не захватывающую.

Допустим, у вас есть адрес электронной почты example@example.com. Следующее регулярное выражение создаст две группы: часть id и часть @ example.com. (\p{Alpha}*[a-z])(@example.com). Для простоты мы извлекаем все имя домена, включая символ @.

Теперь скажем, вам нужна только идентификационная часть адреса. То, что вы хотите сделать, - захватить первую группу результата совпадения, окруженную () в регулярном выражении, и способ сделать это - использовать синтаксис группы без захвата, т. Е. ?:. Поэтому регулярное выражение (\p{Alpha}*[a-z])(?:@example.com) вернет только идентификационную часть сообщения.

39
задан Christian Geier 4 March 2013 в 16:17
поделиться

1 ответ

Примечание. Временная метка - это просто время unix с наносекундами (поэтому разделите его на 10 ** 9):

[t.value // 10 ** 9 for t in tsframe.index]

Например:

In [1]: t = pd.Timestamp('2000-02-11 00:00:00')

In [2]: t
Out[2]: <Timestamp: 2000-02-11 00:00:00>

In [3]: t.value
Out[3]: 950227200000000000L

In [4]: time.mktime(t.timetuple())
Out[4]: 950227200.0

Как точки @ вы быстрее извлекаете массив значений напрямую:

tsframe.index.astype(np.int64) // 10 ** 9
32
ответ дан Andy Hayden 3 September 2018 в 17:49
поделиться
Другие вопросы по тегам:

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