时间处理是在进行数据挖掘时很重要的一个方面,在参加比赛的时候很多比赛训练集给的时间和你最终要提交的时间格式是不同的。
我把我遇到的一种情况总结如下:
首先,题目给的格式是2016-09-10 4:23:21,而想要你提交的格式是2016-09-10-4-2(精确到每十分钟)。在处理时间数据的时候一般都是将时间字符串转换成datatime对象,或者pandas的Timestamp。可以首先把字符串转换成一个datatime类型,然后用strftime()把datatime类型的时间转换为需要的格式
>>from datetime import datetime >>time_str = 2016-09-10 4:23:21 >>time = datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S')# 根据字符串本身的格式进行转换 >>time.strftime('%Y-%m-%d-%H-%M') Out>>'2016-09-10-04-23'
这样取得分钟位,但是要求只取到分钟的十位,可以用字符串处理的方法,去掉最后一位
>>time.strftime('%Y-%m-%d-%H-%M')[0:-1]
datetime.strptime是通过已知格式进行日期分析的最佳方式,但是每次都有编写格式定义是很麻烦的时间,尤其是对于一些常见的日期格式(《利用Python进行数据分析》),推荐使用dateutil这个第三方包中的parser.parse方法。
>>from dateutil.parser import parse >>parse('2016-09-10 4:23:21').strftime('%Y-%m-%d-%H-%M')[0:-1] >>Out:'2016-09-10-04-2'
直接出结果!
以上这篇使用python将时间转换为指定的格式方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
问题内容: 我在csv文件中保存了数据,日期以标准的英国格式存储为字符串--表示它们看起来像: 上面的示例代表2012年1月12日和2012年1月30日。 当我使用pandas版本0.11.0导入此数据时,我进行了以下转换: 但它转换日期不一致。使用我现有的示例,2012年12月1日会将其转换为表示2012年12月1日的datetime对象,而30/01/2012将转换为2012年1月30日,这就
问题内容: 如何将时间格式转换为固定的秒数? PS Time有时可能仅采用格式。 问题答案: 不需要任何东西: 而且,如果您不想使用正则表达式:
问题内容: 由于某种原因,我将时间格式转换为:。我想将其转换回原来的第一个(相同)格式。怎么可能 我的尝试: 现在,分钟呢? 考虑价值可能就像 我认为您了解了一样。 顺便说一下,如何转换 问题答案: 如果要获取时间格式:
问题内容: 我从服务器获得的时间就像 。 我想将其转换为。 我还希望转换后的时间为24小时格式。任何人都可以解决这个问题。我想得到的输出就像 问题答案: 试试这个:
问题内容: 我刚开始从Matlab迁移到Python 2.7,但在读取.mat文件时遇到一些麻烦。时间信息以Matlab的datenum格式存储。对于那些不熟悉它的人: 序列号代表日历日,表示自固定基准日期起已过去的天数。在MATLAB中,序列号1为0000年1月1日。 MATLAB还使用串行时间表示从午夜开始的几分之一秒。例如,下午6点等于0.75个连续日。因此,MATLAB中的字符串‘31 -
我喜欢用熊猫导入数据集,这是我的代码: Col10列包含字符串值,可以让我知道web访问的持续时间 2分35秒。我喜欢做的是将此列作为时间格式导入,以测量(以秒或分钟为单位)网络访问的持续时间。