Панды - Новый столбец - это разница между 2 временными метками.Как перевести это в часы? - PullRequest
0 голосов
/ 28 марта 2019

Исходные данные

Touch Time        Install Time
3/28/2019 14:06  3/28/2019 15:34
3/27/2019 19:23  3/28/2019 15:22
3/28/2019 15:01  3/28/2019 15:18
3/28/2019 12:41  3/28/2019 15:18
3/27/2019 12:10  3/28/2019 15:08

После этого я прочитал csv с использованием read_csv и создал новый столбец diff, это

df['diff'] =  pd.to_datetime(df['Install Time']) - pd.to_datetime(df['Touch Time'])

Это создает столбец diff:

      Touch Time     Install Time          diff
0   3/28/2019 14:06  3/28/2019 15:34    0 days 01:28:00
1   3/27/2019 19:23  3/28/2019 15:22    0 days 19:59:00
2   3/28/2019 15:01  3/28/2019 15:18    0 days 00:17:00
3   3/28/2019 12:41  3/28/2019 15:18    0 days 02:37:00
4   3/27/2019 12:10  3/28/2019 15:08    1 days 02:58:00

Для моего анализа я хочу преобразовать значения в столбце diff в часы, а затем построить график с помощью matplotlib.

Я хочу, чтобы окончательные данные выглядели так:

0 days 01:28:00 should reflect as 1 

1 days 02:58:00 should reflect as 26

Ответы [ 2 ]

3 голосов
/ 28 марта 2019

Используйте total_seconds, затем разделите на 3600, чтобы преобразовать в часы.

df['diff_hours'] = df['diff'].dt.total_seconds() / 3600
0 голосов
/ 28 марта 2019

Другой способ сделать это будет:

df['diff_hours']=df['diff']/np.timedelta64(1,'h')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...