python - 过滤pandas DataFrame中给定值介于两列值之间的所有行
问题描述
我已经有这个包含两列浮点数的数据帧,我想根据这个值 10.9 提取一个数据帧,它不在数据帧上,这样它将返回 10.9 范围内的数据帧,请看下表
Words Start_time(in sec) End_time(in secs) Time_per_words
0 let 0.1 2.5 2.6
1 me 2.5 2.6 5.1
2 tell 2.6 2.9 5.5
3 you 2.9 3.0 5.9
4 about 3.0 3.2 6.2
5 4 10.7 11.0 21.7
预期结果:当我用 3.10 过滤时,我想在下面得到这个数据框,提前谢谢你
Words Start_time(in sec) End_time(in secs) Time_per_words
4 4 10.7 11.0 21.7
解决方案
如果您打算经常执行此操作,请构建一个IntervalIndex :
val = 3.1
idx = pd.IntervalIndex.from_arrays(
df['Start_time(in sec)'], df['End_time(in secs)'])
idx.contains(val)
# array([False, False, False, False, True])
df[idx.contains(val)]
Words Start_time(in sec) End_time(in secs) Time_per_words
4 about 3.0 3.2 6.2
否则,这个一次性布尔索引操作就足够了:
df[(df['Start_time(in sec)'] <= val) & (val <= df['End_time(in secs)'])]
Words Start_time(in sec) End_time(in secs) Time_per_words
4 about 3.0 3.2 6.2
推荐阅读
- c# - 用于 Java .aar 文件的 Xamarin Android 元数据
- google-apps-script - Google Script - 将工作表转换为 XLSX 并通过 HTTP 下载
- python - Pandas 使用 Lookup 使用来自另一个 DataFrame 的多个列添加新列
- apache-nifi - Aache NIFI 适用于这个用例吗?
- python - 根据条件将列中的值附加到另一列
- discord.js - 要使用的 Discord.js 数据库
- reactjs - 组件组成问题反应
- javascript - queryselector 只在文本元素上发生一次
- apache-beam - KafkaIO - 与 groupId 一起使用时 enable.auto.commit 设置为 true 和 commitOffsetsInFinalize 的不同行为
- jaxb - 没有找到 Jakarta XML Binding-API 的实现?