python如何将秒数转化成时分秒_Python数据科学手册Seaborn马拉松可视化里时分秒转化为秒数的问题...

在做Python Data Science Handbook的实例学习,4.16.3 案例:探索马拉松比赛成绩里,有提示将时分秒的时间化为秒的总数,以方便画图。书里给出的指令是:

data['split_sec']=data['split'].astype(int)/1E9

data['final_sec']=data['final'].astype(int)/1E9

我用这种方式会出现以下错误:

TypeError: cannot astype a timedelta from [timedelta64[ns]] to [int32]

在网上搜索了以下,尝试了1.更新numpy;2.用python3进行测试。均没有解决。所以我自己硬着头皮写了一个函数完成了这个转换的过程。

函数输入:以“时:分:秒”格式显示的series列

函数输出:以总计数秒显示的列

函数代码:

def t2s(tser):

tot=[]

for i in range(len(tser)):

h,m,s=tser[i].split(":")

tot.append(int(h)*3600+int(m)*60+int(s))

return tot

具体调用:(类似Handbook上的输入输出功能)

data['split_sec']=t2s(data('split'))

data['final_sec']=t2s(data('final'))

我这个是一个曲线救国的方法,记录下来以便复习,希望在将来的学习中能找到出现这个问题的原因。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值