熊猫检查Series值是否在Interval中

时间:2020-03-28 00:38:46

标签: python pandas intervals

是否有更好的方法来检查pandas系列值是否在pandas时间间隔内?

import pandas as pd, numpy as np
x = pd.Series(np.linspace(4.0,7.8,num=20))
i = pd.Interval(5.0, 6.0, closed='left')

result = (i.left<=x) & (x<i.right)

是否可以不太明确地计算结果,即无需访问i.lefti.righti.closed? 像x.isin(i)x in i之类的东西。

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用pandas.cut()

bins=[5.0,6.0]
pd.cut(x,bins,right=False).dropna()
5    [5.0, 6.0)
6    [5.0, 6.0)
7    [5.0, 6.0)
8    [5.0, 6.0)
9    [5.0, 6.0)