我是R的初学者,我正在尝试使用R将日历日期集转换为数据框中的Julian日期集。我知道有类似的问题已经回答,但我无法得到我想要的。
df <- data.frame(Date = c('2010-06-20','2005-10-19','2000-05-01','2003-04-04','2010-11-20','2009-09-14'), No = c(1, 4, 6, 11, 7, 9))
df$ jDate <- as.POSIXct(as.numeric(df$Date), origin = '1970-01-01')
给了我
DF
日期没有cDate
1 2010-06-20 1 1969-12-31 19:00:05
2 2005-10-19 4 1969-12-31 19:00:03
3 2000-05-01 6 1969-12-31 19:00:01
4 2003-04-04 11 1969-12-31 19:00:02
5 2010-11-20 7 1969-12-31 19:00:06
6 2009-09-14 9 1969-12-31 19:00:04
如何在列中找到包含朱利安日的专栏&#39; jDate&#39;?
感谢您的帮助。
答案 0 :(得分:3)
你可以做到
room_data = validated_data.pop('room')
reservation = Reservation.objects.create(**validated_data)
room = Room.objects.get_or_create(name=room_data['name'])
reservation.room = room
reservation.save()
获取日期,然后
df$Date <- as.Date(df$Date)
获得朱利安日或
df$jDate <- format(df$Date, "%j")
以前一年(如果你想)。返回
df$jDateYr <- format(df$Date, "%Y-%j")
要详细了解可能的日期时间格式,请参阅df
Date No jDate jDateYr
1 2010-06-20 1 171 2010-171
2 2005-10-19 4 292 2005-292
3 2000-05-01 6 122 2000-122
4 2003-04-04 11 094 2003-094
5 2010-11-20 7 324 2010-324
6 2009-09-14 9 257 2009-257
。
答案 1 :(得分:0)
基于aosmith的评论,我做到了这一点并得到了我想要的东西。
> df$jDate <- julian(as.Date(df$Date), origin = as.Date('1970-01-01'))
DF
日期没有jDate
1 2010-06-20 1 14780
2 2005-10-19 4 13075
3 2000-05-01 6 11078
4 2003-04-04 11 12146
5 2010-11-20 7 14933
6 2009-09-14 9 14501