使用Python将数字集转换为日期格式

时间:2017-10-15 13:23:17

标签: python datetime python-datetime

我有一个名为'train'的数据框,其列ID以非常不寻常的方式表示'日期'。对于例如ID中的某些条目:

For example, the value of ID 2013043002 represents the date 30/04/2013 
02:00:00

前4位代表年份,后续2位代表月份和日期。最后两位代表时间。

所以我想将其转换为正确的日期时间格式以执行时间序列分析。

4 个答案:

答案 0 :(得分:3)

to_datetime与参数format一起使用 - 检查http://strftime.org/

df = pd.DataFrame({'ID':[2013043002,2013043002]})

df['ID'] = pd.to_datetime(df['ID'], format='%Y%m%d%H')
print(df)
                   ID
0 2013-04-30 02:00:00
1 2013-04-30 02:00:00

print(df['ID'].dtype)
datetime64[ns]

答案 1 :(得分:2)

使用datetime进行日期时间操作。

var firebasep = firebase.database().ref();
var cool = firebasep.child(i.value).set(j.value);
console.log(cool);
firebasep.set(newData, function(error) {
  alert("New");
  window.location.href="Votingpage.html";
});

答案 2 :(得分:0)

首先,如果您在ID中总是使用相同的输入样式,则可以使用字符串或数字格式进行播放...

Id = 2013043002 
Year = Id[0:3] 
Month = Id[4:5] 
Day = Id[6:7] 
Time= Id[-2:-1]  

DateFormat = "{}-{}-{}".format(Day,Month,Year)
TimeFormar = "%d:00:00"%Time 
Print (DateFormat) 
Output:
04:30:2013 

然后使用它可以将它包装到一个函数中并通过循环传递每个ID并管理您的数据。

当然,如果您不知道以前的ID格式,则应使用其他时间模块选项,并管理字符串格式化以按您想要的顺序显示。

答案 3 :(得分:0)

通过使用模块日期时间,您可以使用strptime函数轻松完成:

my_date = datetime.datetime.strptime(ID, "%Y%m%d%H")
  

“%Y%米%d%H”   是您日期的格式:%Y是年份,%m是月份(0填充),%d是日期(0填充),%H是小时(24小时,0填充)。有关详情,请参阅http://strftime.org/