От TimeDelta плавать дни в Пандах
У меня есть столбец TimeDelta со значениями, которые выглядят так:
2 дня 21: 54: 00.000000000
Я хотел бы иметь число с плавающей точкой, представляющее количество дней, скажем, здесь 2 + 21/24 = 2,875, пренебрегая минутами. Есть ли простой способ сделать это? Я видел ответ, предлагающий
res['Ecart_lacher_collecte'].apply(lambda x: float(x.item().days+x.item().hours/24.))
Но я получаю «AttributeError: у объекта 'str' нет атрибута 'item'"
Numpy версия: «1.10.4», версия Pandas - «0.17.1».
Столбцы изначально были получены с:
lac['DateHeureLacher'] = pd.to_datetime(lac['Date lacher']+' '+lac['Heure lacher'],format='%d/%m/%Y %H:%M:%S')
cap['DateCollecte'] = pd.to_datetime(cap['Date de collecte']+' '+cap['Heure de collecte'],format='%d/%m/%Y %H:%M:%S')
в первом сценарии. Тогда во втором:
res = pd.merge(lac, cap, how='inner', on=['Loc'])
res['DateHeureLacher'] = pd.to_datetime(res['DateHeureLacher'],format='%Y-%m-%d %H:%M:%S')
res['DateCollecte'] = pd.to_datetime(res['DateCollecte'],format='%Y-%m-%d %H:%M:%S')
res['Ecart_lacher_collecte'] = res['DateCollecte'] - res['DateHeureLacher']
Может быть, сохранение его в CSV изменить их типы обратно в строку? Преобразование, которое я пытаюсь сделать, заключается в третьем сценарии.
Sexe_x PiegeLacher latL longL Loc Col_x DateHeureLacher Nb envolees PiegeCapture latC longC Col_y Sexe_y Effectif DateCollecte DatePose Ecart_lacher_collecte Dist_m
M Q0-002 1629238 237877 H Rouge 2011-02-04 17:15:00 928 Q0-002 1629238 237877 Rouge M 1 2011-02-07 15:09:00 2011-02-07 12:14:00 2 days 21:54:00.000000000 0
M Q0-002 1629238 237877 H Rouge 2011-02-04 17:15:00 928 Q0-002 1629238 237877 Rouge M 4 2011-02-07 12:14:00 2011-02-07 09:42:00 2 days 18:59:00.000000000 0
M Q0-002 1629238 237877 H Rouge 2011-02-04 17:15:00 928 Q0-003 1629244 237950 Rouge M 1 2011-02-07 15:10:00 2011-02-07 12:16:00 2 days 21:55:00.000000000 75
res.info ():
Sexe_x 922 non-null object
PiegeLacher 922 non-null object
latL 922 non-null int64
longL 922 non-null int64
Loc 922 non-null object
Col_x 922 non-null object
DateHeureLacher 922 non-null object
Nb envolees 922 non-null int64
PiegeCapture 922 non-null object
latC 922 non-null int64
longC 922 non-null int64
Col_y 922 non-null object
Sexe_y 922 non-null object
Effectif 922 non-null int64
DateCollecte 922 non-null object
DatePose 922 non-null object
Ecart_lacher_collecte 922 non-null object
Dist_m 922 non-null int64