在Python中将数字转换为时间

时间:2015-05-06 07:45:34

标签: python pandas datetime

我有一个大型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

有什么想法吗?

3 个答案:

答案 0 :(得分:4)

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

In [111]:

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

但是,我不知道你是否想要一个默认日期。

答案 1 :(得分:2)

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

这是一个包含通常strftime语法的字符串。

答案 2 :(得分:1)

这可能会有所帮助:

  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"对于测试用例。