Ich möchte vollständige Zusammenführung zwischen den Werten von zwei Spalten (Name) von zwei verschiedenen Datenrahmen durchführen. Zusammenführen sollte nur zwischen Namen durchgeführt werden, die mit demselben Alphabet beginnen. Für z. ABC sollte mit allen Namen anderer Datenrahmen zusammengeführt werden, die mit dem Buchstaben 'A' beginnen. Und das sollte für alle Buchstaben "A" bis "Z" gemacht werden. Ich schreibe den folgenden Code. Aber die Länge der vollständigen Zusammenführung zeigt 0 an. Ich möchte auch das Ergebnis, das nach dem Zusammenführen erhalten wurde, basierend auf jedem Buchstaben an einen neuen Datenrahmen anhängen. Welche Änderungen sollte ich vornehmen? Hier ist mein Code -Führen Sie die vollständige Zusammenführung zwischen den Spalten von zwei Datenrahmen, basierend auf dem Startalphabet
for c in ascii_uppercase:
df1 = df1[df1.Name.str[0] == c ].copy()
df2 = df2[df2.Name.str[0] == c].copy()
df1['Join'] =1
df2['Join'] =1
FullMerge = pd.merge(df2,df1, left_on='Join',right_on='Join')
len(FullMerge)
Was bedeutet (5,3) und (1000,10)? – ComplexData
Das war, was ich verwendet habe, um zufällige Daten zu erzeugen. '(5, 3)' sagt greifen 5 Zeilen und 3 Spalten von zufälligen Buchstaben. Ich schließe mich ihnen an. Das Gleiche gilt für '(1000, 10)'. Sie benötigen diese Datenframes nicht. Ich habe sie nur zur Demonstration benutzt. – piRSquared
Das ist eine erstaunliche Lösung. Ich habe zwei Zweifel - 1. Wie führe ich dies an tatsächlichen Namen in meinen Daten aus? 2. Ich möchte auch andere Spalten intakt von beiden Datenrahmen in meinem Ergebnis behalten. – ComplexData