Группировать по датам по неделям - PullRequest
0 голосов
/ 13 мая 2019

У меня есть время в мс в формате эпохи, мне нужно перевести это в дату и сгруппировать по номеру недели.

Я попытался выполнить следующую процедуру:

df.loc[0, 'seconds'] = df['seconds'].iloc[0]
for _, grp in df.groupby(pd.TimeGrouper(key='seconds', freq='7D')):x
    print (grp)

df["week"].to_period(freq='w')

Например, если мой столбец секунд представлен как 1557499095332, то я хочу, чтобы столбец дат был 10-05-201920:08:15 и столбец «Неделя» для представления W19 или 19.

Как мне это сделать?

1 Ответ

1 голос
/ 14 мая 2019

Попробуйте использовать метод strftime:

from datetime import datetime as dt
x = 1557499095332
dt.fromtimestamp(x/1000).strftime("%A, %B %d, %Y %I:%M:%S")
dt.fromtimestamp(x/1000).strftime("%W")

3-я строка вернет 'Пятница, 10 мая, 2019 г. 03:38: 15'

4-я строка вернет '18' (потому что1 января 2019 года вернется «0», так как это первая неделя)

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