首頁 >後端開發 >Python教學 >如何使用 pandas 在 Python 中選擇兩個值之間的 DataFrame 行?

如何使用 pandas 在 Python 中選擇兩個值之間的 DataFrame 行?

DDD
DDD原創
2024-12-02 18:20:12177瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn