首页 > 后端开发 > Python教程 > 如何使用 pandas 在 Python 中选择两个值之间的 DataFrame 行?

如何使用 pandas 在 Python 中选择两个值之间的 DataFrame 行?

DDD
发布: 2024-12-02 18:20:12
原创
174 人浏览过

How to Select DataFrame Rows Between Two Values in Python with pandas?

使用 Python 的 pandas 在 DataFrame 中的两个值之间选择行

使用 pandas 等数据分析框架时,通常需要过滤行基于具体标准。一个常见的任务是选择特定列落在指定值范围内的行。

在您的情况下,您尝试过滤 DataFrame (df) 以包含 opening_price 值在 99 到 101 之间的行但是,您遇到了错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
登录后复制

此错误源于您用于 row 的表达式Selection:

df[99 <= df['closing_price'] <= 101]
登录后复制

要解决此错误,您可以利用 pandas 提供的 Between 方法。此方法允许您根据指定列是否满足特定范围来过滤 DataFrame。

以下是如何使用 Between 来修改代码:

df = df[df['closing_price'].between(99, 101)]
登录后复制

在此修改后的代码中:

  • df['ending_price']. Between(99, 101) 创建一个布尔系列标识 close_price 值在 99 到 101(含)之间的行。
  • df[ 根据其间生成的布尔系列过滤原始 DataFrame (df)。过滤后的 DataFrame 中仅包含布尔系列中具有 True 值的行。

此方法解决了歧义问题并有效地选择指定范围内的行。

以上是如何使用 pandas 在 Python 中选择两个值之间的 DataFrame 行?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板