我是Pandas的新手,试图像这样使用三个系列......
第一个X:
while (true) {
for (Input input : inputs) {
try {
input.readSomething();
} catch (EndOfStreamException e) {
closePort(input.getPort());
break;
}
}
}
第二个S:
DATE
2015-10-10 00:00:00 0.0
2015-10-10 01:00:00 290.0
2015-10-10 02:00:00 225.0
2015-10-10 03:00:00 4.0
2015-10-10 04:00:00 2.0
Name: X, dtype: bool
第三个平均值:
DATE
2015-10-10 00:00:00 True
2015-10-10 01:00:00 False
2015-10-10 02:00:00 False
2015-10-10 03:00:00 True
2015-10-10 04:00:00 True
Name: S, dtype: bool
我想做的是: 如果在S中为True,则用X中的索引替换X中的值和相应的值。 有什么最好,最有效的方法呢?
答案 0 :(得分:2)
您可以使用where
传递Series
来测试:
In [231]:
Average.where(S==True, X)
Out[231]:
DATE
2015-10-10 00:00:00 0.00
2015-10-10 01:00:00 290.00
2015-10-10 02:00:00 225.00
2015-10-10 03:00:00 128.75
2015-10-10 04:00:00 103.00
Name: val, dtype: float64