Das ist ein komischer: Ich habe 3 Datenrahmen, "prov_data" mit enthält eine Anbieter-ID und zählt auf Regionen und Kategorien (dh wie oft dieser Anbieter mit diesen Regionen und Kategorien interagiert) .Versuchen, Datenrahmen mit vielen Bedingungen zusammenzuführen
prov_data = DataFrame({'aprov_id':[1122,3344,5566,7788],'prov_region_1':[0,0,4,0],'prov_region_2':[2,0,0,0],
'prov_region_3':[0,1,0,1],'prov_cat_1':[0,2,0,0],'prov_cat_2':[1,0,3,0],'prov_cat_3':[0,0,0,4],
'prov_cat_4':[0,3,0,0]})
"tender_data", die die gleichen, aber für Angebote enthält.
tender_data = DataFrame({'atender_id':['AA12','BB33','CC45'],
'ten_region_1':[0,0,1,],'ten_region_2':[0,1,0],
'ten_region_3':[1,1,0],'ten_cat_1':[1,0,0],
'ten_cat_2':[0,1,0],'ten_cat_3':[0,1,0],
'ten_cat_4':[0,0,1]})
Und schließlich ein "NO_MATCH" DF Wich enthält zwischen Anbieter und zart verbotenen Spielen.
no_match = DataFrame({ 'prov_id':[1122,3344,5566],
'tender_id':['AA12','BB33','CC45']})
Ich brauche Folgendes zu tun: Erstellen Sie eine neue df, die die Reihen der prov_data & tender_data Datenrahmen anhängen, wenn sie (1) Spiel eine oder mehrere Kategorien (dh der gleichen Kategorie ist > 0) UND (2) stimmen mit einer oder mehreren Regionen überein UND (3) sind nicht in der no_match-Liste.
dass also würde mir diesen DF:
df = DataFrame({'aprov_id':[1122,3344,7788],'prov_region_1':[0,0,0],'prov_region_2':[2,0,0],
'prov_region_3':[0,1,1],'prov_cat_1':[0,2,0],'prov_cat_2':[1,0,0],'prov_cat_3':[0,0,4],
'prov_cat_4':[0,3,0], 'atender_id':['BB33','AA12','BB33'],
'ten_region_1':[0,0,0],'ten_region_2':[1,0,1],
'ten_region_3':[1,1,1],'ten_cat_1':[0,1,0],
'ten_cat_2':[1,0,1],'ten_cat_3':[1,0,1],
'ten_cat_4':[0,0,0]})
danke! Dies funktionierte perfekt, die ursprünglichen dfs sind 600K x 75, also ist dies eine sehr gute Option. – castor
Ich bekomme tatsächlich einen Exit-Code 137, nachdem ich ihn mit den ursprünglichen Datenframes ausgeführt habe. Ich denke, das Hauptproblem ist die no_match DF, die 600K Zeilen hat. Die Provider-Matrix hat 43K und die Ausschreibung Matrix 140K ... irgendwelche Ideen @piRSquared? – castor
http: // Stapelüberlauf.com/a/1041309/2336654 Wenn dieser Link korrekt ist, vermute ich, dass Sie auf einem Server laufen, auf dem ein Administrator Ihr Skript beendet hat. – piRSquared