从DataFrame中选择行以使其条件“足够接近”列值

时间:2018-09-25 18:00:17

标签: python pandas dataframe pandas-groupby

假设我有一些像这样的数据:

Flights                    AB   AA    AC        AD
ID   R       Length                                
5    A       0.000000    NaN   NaN   NaN  0.454545
     B       0.076660   12.0  42.0  51.0  0.272727
     C01     0.243669    NaN   NaN   NaN  0.454545
     C02     0.495551   20.0   NaN  55.0  0.727273
     C03     0.747433    NaN   NaN   NaN  0.636364
     C04     1.078713   20.0  54.0  65.0  0.727273
     C05     1.582478    NaN   NaN   NaN  0.909091
     C06     2.245038   20.0  50.0  61.0  1.181818

这是一个MultiIndex数据框,其索引为[ID, R, Length]

我想基于Length索引选择行。但是我想根据一些相当具体的条件选择行。

问:我想基于索引Length选择行,这些行大约是Length索引中0.25的倍数,行。那是什么意思?

{p {1}}索引中的

行不是0.25的整数倍,而是几乎。因此,我想要一个基本上返回此值的函数,在这里我还希望第一行在Length索引中始终具有值0.0

Length

或者如果我对0.5的倍数感兴趣:

Flights                    AB   AA    AC        AD
ID   R       Length                                
5    A       0.000000    NaN   NaN   NaN  0.454545
     C01     0.243669    NaN   NaN   NaN  0.454545
     C02     0.495551   20.0   NaN  55.0  0.727273
     C03     0.747433    NaN   NaN   NaN  0.636364
     C04     1.078713   20.0  54.0  65.0  0.727273
     C05     1.582478    NaN   NaN   NaN  0.909091
     C06     2.245038   20.0  50.0  61.0  1.181818

在这种情况下,Flights AB AA AC AD ID R Length 5 A 0.000000 NaN NaN NaN 0.454545 C02 0.495551 20.0 NaN 55.0 0.727273 C04 1.078713 20.0 54.0 65.0 0.727273 C05 1.582478 NaN NaN NaN 0.909091 列中的数字几乎是 的0.5倍。那么如何创建这样的过滤规则?

0 个答案:

没有答案