我真的陷入了这个愚蠢的任务:
我有两个熊猫时间序列。某些时间索引可能在它们之间有所不同。我想,因为这两个系列都摆脱了包含不同时间戳的线条,并且两者都只保留了具有共同时间戳的线条。
我对R中的两个动物园系列也有同样的问题。
举个例子,这是我的系列:
a = 2015-05-01 15.2
2015-05-02 16.3
2015-05-03 17.4
2015-05-04 18.5
2015-05-05 19.6
b = 2015-05-04 'a'
2015-05-05 'b'
2015-05-06 'c'
然后我想达到的结果是:
a = 2015-05-04 18.5
2015-05-05 19.6
b = 2015-05-04 'a'
2015-05-05 'b'
因此,我只保留时间索引在旧系列的时间索引的交集中的行。如何与Pandas.Series完成?还有R动物园?
如果问题看起来很愚蠢,请原谅。我真的搜索了很多没有成功。顺便问一下,这个操作叫什么?合并?对准?
非常感谢您的帮助。
答案 0 :(得分:3)
在pandas中,有一个align
操作,并且可以这样工作:
a, b = a.align(b, join='inner')
答案 1 :(得分:2)
在带动物园的R中,它将是:merge(a, b, all = FALSE, retclass = NULL)
。请注意,(1)all=FALSE
仅返回交集,(2)retclass=NULL
通过将输出写回参数来返回合并的系列。
下面是一个自包含的可重现的例子。
# define inputs and read them into R as zoo objects
Lines.a = "2015-05-01 15.2
2015-05-02 16.3
2015-05-03 17.4
2015-05-04 18.5
2015-05-05 19.6"
Lines.b <- "2015-05-04 a
2015-05-05 b
2015-05-06 c"
library(zoo)
a <- read.zoo(text = Lines.a)
b <- read.zoo(text = Lines.b)
# merge the inputs and show result
merge(a, b, all = FALSE, retclass = NULL)
a
## 2015-05-04 2015-05-05
18.5 19.6
b
## 2015-05-04 2015-05-05
a b