首頁  >  文章  >  後端開發  >  如何根據 Pandas 中不同的列值檢索行?

如何根據 Pandas 中不同的列值檢索行?

Barbara Streisand
Barbara Streisand原創
2024-11-04 04:43:01933瀏覽

How to Retrieve Rows Based on Distinct Column Values in Pandas?

根據不同的列值檢索行

在資料操作場景中,根​​據特定列中的唯一值提取行變得至關重要。本文將示範如何使用 Pandas(一個流行的用於資料操作和分析的 Python 庫)來實現此目的。

問題陳述

考慮一個具有兩個欄位的資料框,COL1 和COL2。任務是檢索 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 () 方法

Pandas 函式庫提供了一個名為drop_duplicates() 的便利方法來完成此任務。透過在參數中指定列名,您可以檢查重複項,並根據您的要求刪除或保留特定行。

例如,要根據COL2 值刪除所有重複行,請使用以下程式碼:

<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]})

df = df.drop_duplicates('COL2')

# Displaying the result
print(df)</code>

這將輸出COL2 中具有唯一值的資料幀:

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

此外,您可以指定keep 參數來控制要保留哪些重複行。預設情況下,它保留第一個出現的位置(“first”),但您也可以保留最後一個出現的位置(“last”)或刪除所有重複項(“False”)。

<code class="python"># Keep first occurrence
df = df.drop_duplicates('COL2', keep='first')

# Keep last occurrence
df = df.drop_duplicates('COL2', keep='last')

# Remove all duplicates
df = df.drop_duplicates('COL2', keep=False)</code>

以上是如何根據 Pandas 中不同的列值檢索行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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