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

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

Mary-Kate Olsen
發布: 2024-11-04 04:11:30
原創
672 人瀏覽過

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

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

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

查詢:

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

1

2

3

4

5

6

7

8

COL1   COL2

a.com  22

b.com  45

c.com  34

e.com  45

f.com  56

g.com  22

h.com  45

登入後複製

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

1

2

3

4

5

COL1  COL2

a.com 22

b.com 45

c.com 34

f.com 56

登入後複製

解決方案:

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

1

2

3

4

5

6

7

8

9

<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>

登入後複製

輸出:

1

2

3

4

5

  COL1  COL2

0  a.com    22

1  b.com    45

2  c.com    34

4  f.com    56

登入後複製

其他選項:

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

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

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

1

2

3

4

5

<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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板