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

2018-11-05  本文已影响0人  041c14885cdd

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

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

上一篇下一篇

猜你喜欢

热点阅读