Python получает разницу во времени - PullRequest
0 голосов
/ 10 декабря 2018

Я работаю в фрейме данных в Pandas, и мне нужно получить разницу во времени с datettime, сгруппированную по идентификатору.Вот кадр данных

    Identifier                   datetime
0   AL011851                     00:00:00
1   AL011851                     06:00:00             
2   Al011851                     12:00:00

Когда я запускаю этот код

hurricane_df = hurricane_df.groupby('identifier')['datetime'].diff().fillna(0)

hurricane_df

Я получаю ошибку атрибута AttributeError: «Объект SeriesGroupBy не имеет атрибута»_aggregate_item_by_item '

В любом случае?

1 Ответ

0 голосов
/ 10 декабря 2018

Вы можете установить одинаковые даты в datetime:

hurricane_df['datetime'] = pd.to_datetime(hurricane_df['datetime'].dt.strftime('%H:%M:%S'), 
                                          format='%H:%M:%S')

print (hurricane_df)
  identifier            datetime
0   AL011851 1900-01-01 00:00:00
1   AL011851 1900-01-01 06:00:00
2   Al011851 1900-01-01 12:00:00

Или преобразовать столбец в timedeltas:

hurricane_df['datetime'] = pd.to_timedelta(hurricane_df['datetime'].dt.strftime('%H:%M:%S'))
print (hurricane_df)
  identifier datetime
0   AL011851 00:00:00
1   AL011851 06:00:00
2   Al011851 12:00:00

hurricane_df = hurricane_df.groupby('identifier')['datetime'].diff().fillna(0) 
print (hurricane_df)
0   00:00:00
1   06:00:00
2   00:00:00
Name: datetime, dtype: timedelta64[ns]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...