Heim >Backend-Entwicklung >Python-Tutorial >Wie finde ich Zeilen in einem Pandas-DataFrame, die sich nicht in einem anderen befinden?

Wie finde ich Zeilen in einem Pandas-DataFrame, die sich nicht in einem anderen befinden?

Barbara Streisand
Barbara StreisandOriginal
2024-12-09 07:59:11901Durchsuche

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

Erhalten von DataFrame-Zeilen, die in einem anderen DataFrame nicht vorhanden sind

Um Zeilen aus einem DataFrame (df1) abzurufen, die in einem anderen DataFrame (df2) nicht vorhanden sind ), können die folgenden Schritte ausgeführt werden:

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]

Dieser Ansatz stellt sicher, dass nur Zeilen in df1 das nicht in df2 vorhanden sind, werden unter Berücksichtigung beider Spaltenwerte in jeder Zeile extrahiert. Alternative Lösungen, die unabhängig voneinander auf einzelne Spaltenwerte prüfen, können zu falschen Ergebnissen führen.

Das obige ist der detaillierte Inhalt vonWie finde ich Zeilen in einem Pandas-DataFrame, die sich nicht in einem anderen befinden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn