Ich versuche, zwei CSV-Datei zusammenführen, möchte ich nicht doppelt entfernen Ich möchte einfach die erste Spalte "PDB ID" überprüfen und dann zweite Spalte "Chain ID" überprüfen. Alle Werte haben Eingabedateien. Ich möchte fusionieren und Spaltendatei 1 hinzufügen und 2.Zusammenführen von zwei CSV-Datei in Python
import pandas as pd
a = pd.read_csv("testfile.csv")
b = pd.read_csv("testfile_1.csv")
b = b.dropna(axis=1)
merged = a.merge(b, on='PDB ID')
merged.to_csv("output.csv", index=False)
ich oben Skript-Datei verwendet, sondern Ergebnis einer Zeile drei Mal denselben Wert zu bekommen.
File 1: Input
PDB ID Chain ID Ligand ID Uniprot Acc
3RSQ A NAI Q9X024
3RTD A NAI Q9X024
1E3E A NAI Q9QYY9
1E3E B NAI Q9QYY9
1E3I A NAI Q9QYY9
1E3I B NAI Q9QYY9
File 2: Input
PDB ID Chain ID Avg
1E3E A 31.566
1E3E B 17.867
3RSQ A 57.653
1E3I A 27.63
1E3I B 17.867
3RTD A 48.806
Getting Output:
PDB ID Chain ID_x Avg Ligand ID Uniprot Acc
3RSQ A 57.653 NAI Q9X024
3RTD A 48.806 NAI Q9X024
1E3E A 31.566 NAI Q9QYY9
1E3E A 31.566 NAI Q9QYY9
1E3E B 17.867 NAI Q9QYY9
1E3E B 17.867 NAI Q9QYY9
1E3I A 27.63 NAI Q9QYY9
1E3I A 27.63 NAI Q9QYY9
1E3I B 17.867 NAI Q9QYY9
1E3I B 17.867 NAI Q9QYY9
Expected Output:
3RSQ A 57.653 NAI Q9X024
3RTD A 48.806 NAI Q9X024
1E3E A 31.566 NAI Q9QYY9
1E3E B 17.867 NAI Q9QYY9
1E3I A 27.63 NAI Q9QYY9
1E3I B 17.867 NAI Q9QYY9
Danke, eigentlich file1 Spalte Eine "PDB ID" und File2 Spalte "PBD ID" ist nicht die gleiche Sequenz. Ich habe die obige Eingabedatei bearbeitet. Ich habe oben Code versucht, aber die gleiche Eingabedatei als Ausgabe bekommen, da beide Datei Spalte A "PDB ID" nicht die gleiche Sequenz ist. – krish
Ich habe meine Antwort dort bearbeitet, wo sie für diese unsortierten "PDB ID" -Sequenzen funktionieren sollte. Es nimmt an, dass beide Datenrahmen dieselbe Anzahl von Zeilen haben. – PyNoob
Danke, aber bekommen Fehler: Länge nicht übereinstimmen: Erwartete Achse hat 3049 Elemente, neue Werte haben 3060 Elemente – krish