美文网首页
Python数据科学手册Seaborn马拉松可视化里时分秒转化为

Python数据科学手册Seaborn马拉松可视化里时分秒转化为

作者: 041c14885cdd | 来源:发表于2018-11-05 11:14 被阅读0次

    在做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'))

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

    相关文章

      网友评论

          本文标题:Python数据科学手册Seaborn马拉松可视化里时分秒转化为

          本文链接:https://www.haomeiwen.com/subject/ylojxqtx.html