
透過不同列值檢索行:綜合指南
許多程式設計場景需要根據特定列中的唯一值擷取行。本文探討如何使用 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中文網其他相關文章!