小编rma*_*tra的帖子

使用其他DataFrame过滤Pandas DataFrame

我有一个多索引DataFrame,第一级作为组ID,第二级作为元素名.还有更多的组,但下面只显示了第一组.

                   2000-01-04  2000-01-05 
Group Element                                     
1       A          -0.011374    0.035895 
        X          -0.006910    0.047714 
        C          -0.016609    0.038705 
        Y          -0.088110   -0.052775 
        H           0.000000    0.008082 
Run Code Online (Sandbox Code Playgroud)

我有另一个DataFrame只包含1个索引,即组ID.两者的列是相同的,它们是日期.

         2000-01-04  2000-01-05 
Group                                     
1        -0.060623   -0.025429 
2        -0.066765   -0.005318 
3        -0.034459   -0.011243 
4        -0.051813   -0.019521 
5        -0.064367    0.014810 
Run Code Online (Sandbox Code Playgroud)

我想使用第二个DataFrame来过滤第一个DataFrame,检查每个元素是否小于该日期组的值,以获得如下所示:

                   2000-01-04  2000-01-05 
Group Element                                     
1       A          False        False     
        X          False        False     
        C          False        False     
        Y          True         True
        H          False        False     
Run Code Online (Sandbox Code Playgroud)

最终,我只对真实的元素和它们的真实日期感兴趣.在迭代日期中真实的元素列表将是很好的,我通过制作False NaN然后使用dropNa()来做.

我知道我可以编写一堆嵌套for循环来做到这一点,但时间至关重要; 我想不出一种方法来使用pandas数据帧结构本质上和pythonically来做到这一点.任何帮助将非常感谢!

python filter pandas

5
推荐指数
1
解决办法
1227
查看次数

标签 统计

filter ×1

pandas ×1

python ×1