根據不同的列值檢索行
在資料操作場景中,根據特定列中的唯一值提取行變得至關重要。本文將示範如何使用 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中文網其他相關文章!