假设我有一个称为X
的值的时间序列。
我现在想知道第一个索引,之后Y
将达到其他系列X
的值。或者换句话说,对于每个索引i
,我想知道 first 索引j
之后由X
组成的行j-1
至j
与Y
处i
的值相交。
下面是一组示例X
,Y
系列的示例,显示了Z
的结果值。 这些系列的长度始终相同:
X | Y | Z
2 | 3 | 2
2 | 3 | NaN
4 | 4.5 | 3
5 | 5 | NaN
4 | 5 | NaN
3 | 2 | 6
1 | 2 | NaN
pandas
或numpy
是否提供有助于此目的的内容?此函数将在大型数据集上运行,因此我无法使用python循环。
答案 0 :(得分:4)
将numpy broadcasting
与shifted
的值进行比较,然后以DataFrame.idxmax
得到前True
的索引,并稍作改进-在NaN
列中添加了{ {1}}(如果每行所有NaN
个值,最后删除重复的值:
False