Ich habe das folgende Problem. Ich habe zwei Datenrahmen und möchten, dass sie in den ersten Datenrahmen basiert auf zwei Säulen fusionieren und auf eine Spalte in der zweiten Datenrahmen:Zusammenführen von zwei Datenrahmen mit verschiedenen Längenlisten links und rechts
import pandas as pd
new1 = pd.DataFrame({0:['a','b','c'], 1:['q1','q2','q3'], 2:['t3','t2','t1']})
new2 = pd.DataFrame({0:['aq1','bq2','cq3'], 1:['la1','la2','la3']})
pd.merge(new1,new2, how='inner', left_on=[0,1], right_on=[0])
Dieser Code nicht da
ValueError: len(right_on) must equal len(left_on)
funktioniert Haben Pandas einige Standardmethoden für diesen Fall? Oder die einzige Möglichkeit, das Problem zu lösen ist, um zusätzlich zur Spalte in new1 Datenrahmen zu erstellen:
import pandas as pd
new1 = pd.DataFrame({0:['a','b','c'], 1:['q1','q2','q3'], 2:['t3','t2','t1']})
new1[3] = new1[0] + new1[1]
new2 = pd.DataFrame({0:['aq1','bq2','cq3'], 1:['la1','la2','la3']})
print(pd.merge(new1,new2, how='inner', left_on=[3], right_on=[0]))
So einfach! Vielen Dank! – Trarbish