您好我有一个如下所示的数据框:
'data.frame': 57 obs. of 4 variables:
$ timestamp: Factor w/ 57 levels "08/08/2013 02:04:25 AM INFO",..: 1 2 3 4 5 6 8 7 9 10 ...
$ inStock : Factor w/ 1 level "": 1 1 1 1 1 1 1 1 1 1 ...
$ unitPrice: Factor w/ 1 level "61.12000": 1 1 1 1 1 1 1 1 1 1 ...
$ moq : Factor w/ 1 level "1": 1 1 1 1 1 1 1 1 1 1 ...
timestamp inStock
1 08/08/2013 02:10:41 AM INFO 100
2 08/09/2013 02:14:17 AM INFO 98
3 08/09/2013 02:27:52 AM INFO 95
4 08/10/2013 02:09:05 AM INFO 90
5 08/10/2013 02:23:21 AM INFO 80
6 08/11/2013 02:40:56 AM INFO 200
7 08/12/2013 01:10:30 AM INFO 195
8 08/12/2013 01:25:35 AM INFO 190
9 08/13/2013 01:14:39 AM INFO 180
10 08/13/2013 01:27:42 AM INFO 178
....
(1)时间戳是由Python以某种方式创建的,我不知道如何轻松地将此数据帧更改为时间序列类型对象,以便我可以进行一些基本的时间序列分析。
(2)显然,你可以看到每天不仅有一条记录。比如2013年8月13日,有两条记录。我想在那天获得最低库存......所以按天分组并使用最小值作为记录。与此同时,某些日子也可能存在没有任何数据。
那么我该如何解决这个问题,谢谢!
答案 0 :(得分:1)
当我发表评论时,我没有看到你问题的第二部分。 plyr
提供了一种非常简单的方法...
# Make sure you have daily dates and integer for stock
df$timestamp <- as.POSIXct( df$timestamp , format = "%m/%d/%Y" )
df$inStock <- as.integer( df$inStock)
require(plyr)
ddply( df , .(timestamp) , summarise , inStock = min(inStock) )
timestamp inStock
1 2013-08-08 100
2 2013-08-09 95
3 2013-08-10 80
4 2013-08-11 200
5 2013-08-12 190
6 2013-08-13 178