我有带数据的csv文件。 Link is here。 2013年时间序列的粒度为5分钟。但是,某些时间戳缺少值。
我想创建一个时间序列,间隔为5分钟,值为零,表示缺少时间戳。
请告知如何在Pandas或R
中执行此操作答案 0 :(得分:1)
这应该有效
# partial old data used for example
timedata<- read.table(header = TRUE, sep =",", text = "
timestamp, value
01/01/2013 00:00:10,10
01/01/2013 00:00:25,6
01/01/2013 00:00:40,10
01/01/2013 00:00:55,8
")
# for your old timestamp dataframe use:
# colnames(olddata)<- c("timestamp", "value") to get a suitable header
# create full sequence of timestamps
filldata<-as.data.frame(format(seq(from=ISOdate(2013,1,1,hour=0),to=ISOdate(2013,1,1,hour=24), by="5 sec"), "%d/%m/%Y %H:%M:%S"))
colnames(filldata)<- "timestamp"
# merge and make NAs zero
filleddata<- merge(filldata,timedata, by="timestamp", all=TRUE)
filleddata$value[is.na(filleddata$value)]<- 0