我有一个名为'train'的数据框,其列ID以非常不寻常的方式表示'日期'。对于例如ID中的某些条目:
For example, the value of ID 2013043002 represents the date 30/04/2013
02:00:00
前4位代表年份,后续2位代表月份和日期。最后两位代表时间。
所以我想将其转换为正确的日期时间格式以执行时间序列分析。
答案 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/。