美文网首页
python pandas 修剪字符串长度(时间戳截取到分钟)

python pandas 修剪字符串长度(时间戳截取到分钟)

作者: LeeMin_Z | 来源:发表于2018-08-20 23:37 被阅读994次

    datatime库还没学完,但我机智地想到时间戳是固定格式,可以将其看做一个字符串,直接修剪字符串长度就能截取到分钟/十分钟/小时。用来计数简直太爽了,只要四行代码!

    重点在这一行, 需要对DataFrame的每一行进行操作

    ActiveMinute = maintTime['Active-Time'].str[0:16]

    文件格式

    1. 我用的txt文件抽象格式以下,分隔符是多个空格 \s+

    title1 title2 title3
    data11 data21 data31
    data12 data22 data32
    data13 data23 data33

    为了好看一点,抽象为表格。

    title1 title2 title3
    data11 data21 data31
    data12 data22 data32
    data13 data23 data33

    我需要处理的时间戳序列为

    Active-Time
    2018-07-19,06:09:59
    2018-07-22,22:06:03
    2018-07-19,11:09:29
    2018-07-07,04:13:29

    在ipython交互操作的代码,注意文件路径

    import pandas as pd
    
    # 读取txt文件格式的数据,分隔符为多个空号(正则式)
    
    maint = pd.read_table('ch08/CM-maintenance.txt',sep='\s+')
    
    # 转变为DataFrame格式
    
    maintTime = pd.DataFrame(maint)
    
    # 原格式为 “2018-07-07,04:13:29”,截取到分钟,改长度就能截取到你想要的长度
    
    ActiveMinute = maintTime['Active-Time'].str[0:16]
    
    In [121]: ActiveMinute[:5]
    Out[121]:
    0    2018-07-19,06:09
    1    2018-07-22,22:06
    2    2018-07-19,11:09
    3    2018-07-07,04:13
    4    2018-07-20,05:52
    Name: Active-Time, dtype: object
    
    # 直接计数,排序,显示想看的前几行
    
    In [124]: ReactiveCMcount = ActiveMinute.value_counts(ascending=False)
    
    In [125]: ReactiveCMcount[:5]
    Out[125]:
    2018-07-20,05:30    721
    2018-07-20,06:01    671
    2018-07-20,05:54    604
    2018-07-19,05:45    599
    2018-07-20,06:00    543
    Name: Active-Time, dtype: int64
    

    2018.8.20 超快,超好用!python拯救时间。

    相关文章

      网友评论

          本文标题:python pandas 修剪字符串长度(时间戳截取到分钟)

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