首頁 >後端開發 >Python教學 >如何找出一個 Pandas DataFrame 中不存在於另一個 DataFrame 中的行?

如何找出一個 Pandas DataFrame 中不存在於另一個 DataFrame 中的行?

Barbara Streisand
Barbara Streisand原創
2024-12-09 07:59:11905瀏覽

How to Find Rows in One Pandas DataFrame That Are Not in Another?

取得另一個DataFrame 中不存在的DataFrame 行

從一個DataFrame (df1) 取得不存在於另一個DataFrame (df2 ) 中的行),可以執行以下步驟:

import pandas as pd

# Create the two DataFrames.
df1 = pd.DataFrame(data={'col1': [1, 2, 3, 4, 5, 3], 'col2': [10, 11, 12, 13, 14, 10]})
df2 = pd.DataFrame(data={'col1': [1, 2, 3], 'col2': [10, 11, 12]})

# Perform a left join, ensuring each row in df1 joins with a single row in df2.
df_all = df1.merge(df2.drop_duplicates(), on=['col1', 'col2'], how='left', indicator=True)

# Create a boolean condition to identify rows in df1 that are not in df2.
condition = df_all['_merge'] == 'left_only'

# Filter df1 based on the condition.
result = df1[condition]

這種方法確保僅提取df1 中 df2 中不存在的行,同時考慮每行中的兩個列值。獨立檢查各個列值的替代解決方案可能會導致不正確的結果。

以上是如何找出一個 Pandas DataFrame 中不存在於另一個 DataFrame 中的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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