提问人:S.V 提问时间:3/28/2020 更新时间:4/5/2020 访问量:1436
pandas 检查序列值是否在间隔中
pandas check if Series values are in Interval
问:
有没有更好的方法来检查 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)
是否可以不那么明确地计算结果,即不访问 , , ?
类似 or 的东西。i.left
i.right
i.closed
x.isin(i)
x in i
谢谢你的帮助!
答:
1赞
denis_smyslov
4/5/2020
#1
你可以用它来: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)
评论
x.map(i.__contains__)