首頁  >  文章  >  後端開發  >  如何檢索 Pandas DataFrame 中具有唯一值的行?

如何檢索 Pandas DataFrame 中具有唯一值的行?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-04 04:11:30511瀏覽

How to Retrieve Rows with Unique Values in a Pandas DataFrame?

透過不同列值檢索行:綜合指南

許多程式設計場景需要根據特定列中的唯一值擷取行。本文探討如何使用 Python 中廣泛使用的 Pandas 函式庫來實現此目的。

查詢:

考慮一個包含兩列COL1 和COL2 的資料集,如圖所示:

COL1   COL2
a.com  22
b.com  45
c.com  34
e.com  45
f.com  56
g.com  22
h.com  45

目標是僅檢索COL2 包含唯一值的行。預期輸出為:

COL1  COL2
a.com 22
b.com 45
c.com 34
f.com 56

解決方案:

Pandas 中的drop_duplicates 方法提供了一種簡單的方法來消除基於一列或多列的重複行。以下是如何利用它來完成此特定任務:

<code class="python">import pandas as pd

df = pd.DataFrame({'COL1': ['a.com', 'b.com', 'c.com', 'e.com', 'f.com', 'g.com', 'h.com'],
                  'COL2': [22, 45, 34, 45, 56, 22, 45]})

# Keep only the first occurrence of each unique value in COL2
df = df.drop_duplicates('COL2')

print(df)</code>

輸出:

  COL1  COL2
0  a.com    22
1  b.com    45
2  c.com    34
4  f.com    56

其他選項:

drop_duplicates 方法提供了額外的選項自訂處理重複項的選項:

  • keep='last':保留每個唯一值的最後一次出現。
  • keep=False :完全刪除所有重複的行。

以下是示範這些選項的範例:

<code class="python"># Keep only the last occurrence of each unique value in COL2
df = df.drop_duplicates('COL2', keep='last')

# Remove all duplicate rows from the dataset
df = df.drop_duplicates('COL2', keep=False)</code>

以上是如何檢索 Pandas DataFrame 中具有唯一值的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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