Ich habe zwei .csv-Dateien, A und B. A hat 1.000.000 Zeilen und 2 Spalten; B hat 20 Zeilen und 2 Spalten. Sie sehen aus wie folgt:Python. For-Schleifen und dicts: für Zeilen in Datei A: erhalten übereinstimmende Ausgabe von Datei B
A:
Var1 S
x 2
y 1
z 7
x 2
x 3
z 4
B:
Var1 Var2
x a
y b
z c
A und B haben eine Spalte Var1 mit 3 Variablen (x, y, z), aber in einem sind sie nicht einzigartig, während in B sie sind. B hat eine zusätzliche Spalte Var2 mit 3 Variablen (a, b, c). Mit Python oder R, würde Ich mag eine neue Datei C erstellen, indem Sie eine neue Spalte Var2 zu A mit den Spielen von Var1 zwischen A und B angehängt wird, so kann ich so etwas wie diese:
C:
Var1 S Var 2
x 2 a
y 1 b
z 7 c
x 2 a
x 3 a
z 4 c
Ich habe Wörterbücher und for-Schleifen in Python verwendet, aber ohne Erfolg. Mein Problem ist, dass wenn ich "für A:" verwende, ich nur Ausgabeinfo von A bekomme; Wenn ich "for B:" verwende, erhalte ich nur Output-Informationen von B. Ich weiß, dass es keinen logischen Sinn ergibt, aber ich würde gerne etwas tun wie: "für A, bekomme passende Output-Informationen von B".
WICHTIG: Ich habe gerade durch das Feedback der Benutzer festgestellt, dass die "merge" -Operation den Job sehr einfach erledigt, entweder mit "pandas" (python) oder R (dplyr, merge). Es war einfacher als ich dachte.
Tun Sie einfach eine 'merge (A, B)' oder 'library (dplyr); left_join (A, B) 'in' R' – akrun
vielen Dank @akrun, es hat perfekt funktioniert! – Lucas
Ich glaube nicht, dass dies ein Duplikat ist. Pandas ist Overkill – Stats4224