我有一个数据框数组,其中包含一些列,其中之一是“时间”
我想过滤时间在特定间隔内的行
为了简化问题,我制作了一个具有整数值和整数间隔的数据框
data=pd.DataFrame({'A':[1,2,3,4,5,6,7,8,9]})
interval=pd.Interval(1,4)
data[data['A'] in interval]
表明:
ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
但预期结果是 [2,3,4]
between
pandas.Series.between https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.between.html将返回一个可用于过滤数据帧的布尔掩码。
data[data.A.between(1, 4)]
A
0 1
1 2
2 3
3 4
query
pandas.DataFrame.query https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.query.html也可以用来过滤
data.query('1 <= A <= 4')
A
0 1
1 2
2 3
3 4
isin
pandas.Series.isin https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.isin.html可以在特殊整数情况下使用range
。如同between
我们创建一个布尔掩码。
data[data.A.isin(range(1, 5))]
A
0 1
1 2
2 3
3 4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)