我有一个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.))
但我得到“attributeRor:”str“object没有属性”item“
Numpy版本是“1.10.4” 熊猫版是u'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会把它们的类型改回string?我正在尝试的转换是在第三个脚本中。
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
资源信息():
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
您可以使用^{} 或^{} 定义持续时间并除以:
你试过用这个代替吗?
第一学期是第一天(你的情况是两天) 第二项是忽略分钟的小时比率(你的情况是21/24)
如果您不想忽略分钟和秒数据,而是需要考虑一天中所有秒的比率,则代码如下所述:
您可以使用^{} 并将其除以一天中的总秒数,例如:
相关问题 更多 >
编程相关推荐