【问题标题】:Convert number to time in Python在 Python 中将数字转换为时间
【发布时间】:2015-05-06 07:45:33
【问题描述】:

我有一个大型 CSV 文件,其中有一个名为 TIME 的列。它写成 1318,我想使用 Python/Pandas 将数据转换为 13:18 并将其视为时间而不是 int64。

我尝试过这样的事情,但这不是我想要的:

df['TIME'] = pd.to_datetime(df['TIME'])

因为我明白了:

    1970-01-01 00:00:00.000001318                           
    1970-01-01 00:00:00.000001041                              
    1970-01-01 00:00:00.000000853

有什么想法吗?

【问题讨论】:

    标签: python pandas datetime


    【解决方案1】:

    如果您将format 参数传递给to_datetime,您将获得以下信息:

    In [111]:
    
    t="1318"
    pd.to_datetime(t, format='%H%M')
    Out[111]:
    Timestamp('1900-01-01 13:18:00')
    

    但是,我不知道你是否想要这里的默认日期。

    【讨论】:

      【解决方案2】:

      这可能会有所帮助:

        def extractTime(l):
          tt = (l.split(' ')[1]).split('.')[1][-4:];
          return tt[:2] + ':' + tt[-2:];
      
          if __name__ == '__main__':
            l = "1970-01-01 00:00:00.000001318";
            print extractTime(l);
      

      它将为测试用例打印出“13:18”。

      【讨论】:

        【解决方案3】:

        pd.to_datetime 方法使用format 关键字参数。

        它是一个具有通常strftime 语法的字符串。

        【讨论】:

          猜你喜欢
          • 2015-01-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-26
          • 2019-04-29
          • 1970-01-01
          相关资源
          最近更新 更多