Ich habe ein paar Excel-Dateien. Beide Dateien haben zwei gemeinsame Spalten: Customer_Name und Customer_No. Die erste Excel-Datei hat ungefähr 800k Zeilen, während die zweite nur 460 hat. Ich möchte einen Datenrahmen bekommen, der die gemeinsamen Daten in beiden Dateien enthält, dh die Zeilen aus der ersten Datei erhält, die sowohl Customer_Name als auch Customer_No hat. in der 2. Datei gefunden. Ich habe versucht, .isin zu verwenden, aber bis jetzt fand ich Beispiele, die nur eine einzelne Variable (Spalte) verwenden. Danke im Voraus!Vergleichen Sie zwei Excel-Dateien in Pandas und geben Sie die Zeilen mit den gleichen Werten in zwei Spalten zurück
-2
A
Antwort
2
Verwendung merge
:
df = pd.merge(df1, df2, on=['Customer_Name','Customer_No'])
Wenn Sie verschiedene Spaltennamen verwenden left_on
und right_on
:
df = pd.merge(df1,
df2,
left_on=['Customer_Name','Customer_No'],
right_on=['Customer_head','Customer_Id'])
0
IIUC und Sie brauchen keine zusätzliche Spalten aus der zweiten Datei - es verwendet wird nur für den Beitritt, können Sie es so machen:
common_cols = ['Customer_Name','Customer_No']
df = (pd.read_excel(filename1)
.join(pd.read_excel(filename2, usecols=common_cols),
on=common_cols))
0
Ich denke, der direkte Weg wird so sein:
df_file1 = pd.read_csv(file1, index_col) # set Customer_No
df_file2 = pd.read_csv(file2, index_col) # set Customer_No
for index, row in df_file1.iterrows():
if row.get_value('Customer_name) in df_file2['Customer_name'].values:
hier können Sie sich verlassen, einfach durch ganze Zahl oder eine komplizierte Aufgabe produzieren wie hinzufügen [index, Zeile] df zu führen, wenn nötig.
Verwandte Themen
- 1. Geben Sie den entsprechenden Wert in mehreren Spalten zurück. Pandas
- 2. zwei numpy Arrays vergleichen und die gleichen Zeilen hinzufügen
- 3. MySQL gleichen Werte in zwei Spalten vergleichen
- 4. Vergleichen Sie zwei Spalten und identifizieren Sie Zeichendifferenz in R
- 5. Iterate durch zwei Spalten und vergleichen sie
- 6. Vergleichen Sie zwei Spalten mit VBA, und markieren Sie Unterschiede
- 7. Wählen Sie zwischen zwei Werten mit zwei Spalten
- 8. Vergleichen Sie zwei Dateien und erhalten Sie die Ausgabe für die gleichen Zeilen
- 9. Vergleichen Sie zwei Excel-Dateien mit verschiedenen Headern, aber gleichen Zeilendaten mit Pandas DataFrames
- 10. Definieren Sie zwei neue Variablen basierend auf den zwei größten absoluten Werten in zwei Zeilen
- 11. Erhalten Sie Zeilen, die den gleichen Wert über seine Spalten in Pandas
- 12. Zählen Sie die Anzahl der Zeilen mit Nicht-Null-Werten in zwei Spalten in MS-Excel
- 13. Vergleichen Sie zwei Spalten in Excel und Duplikate entfernen
- 14. Vergleichen Sie zwei CSV-Dateien und fügen Sie Spalten hinzu, die in beiden nicht üblich sind
- 15. Kombinieren Sie zwei Arrays in PHP mit den gleichen Schlüsseln
- 16. Vergleichen Sie zwei json
- 17. Pandas: Kombinieren Sie zwei Spalten in einem Dataframe
- 18. Kombinieren Sie zwei Pandas-Datenrahmen mit dem gleichen Index
- 19. Vergleichen Spalten in zwei Textdateien und Übereinstimmungsleitungen
- 20. Vergleichen Sie zwei Arrays und geben Sie den Index der ersten Erscheinung
- 21. Wie zwei Arrays zu vergleichen und Übereinstimmungen in den Spalten
- 22. Zwei verschiedene Klasseninstanzen geben den gleichen Hashcode
- 23. Vergleichen Sie zwei Verzeichnisbäume
- 24. Mit Pandas Zeilen mit zwei verschiedenen Spalten aus Dataframe auswählen?
- 25. Finden Sie die gleichen Daten in zwei DataFrames unterschiedlicher Formen
- 26. Vergleichen Sie zwei IEnumerable
- 27. Vergleichen Sie zwei Tabellenzeilen und entfernen Sie, wenn übereinstimmen
- 28. pandas groupby zwei Spalten und multiplizieren zwei weitere Spalten
- 29. Vergleichen Sie zwei Arrays und aktualisieren Sie mit den neuen Werten, indem Sie die vorhandenen Objekte mit Javascript
- 30. Vergleichen Sie zwei Hashsets?
Ich bearbeite Antwort, bitte überprüfen Sie es. – jezrael
Wenn meine Antwort hilfreich war, nicht vergessen [akzeptieren] (http://meta.stackexchange.com/a/5235/295067) es. Vielen Dank. – jezrael
Aber ich bekomme stattdessen einen KeyError. Ich habe die Datentypen der Spalten überprüft und sichergestellt, dass sie auch gleich sind. :( – Ruffy26