fallen lassen Ich bin neu bei Python und Pandas, also bitte mit mir ertragen. Ich habe ein ziemlich einfaches Problem zu lösen, aber ich scheine es nicht richtig zu verstehen. Ich habe eine CSV-Datei, die ich mit einem Pandas-Datenrahmen bearbeiten möchte. Die Daten zeigen Flüsse von Heimat- zu Arbeitsorten und die entsprechenden IDs der Orte sowie Koordinaten in lat/lon und einen Wert für jeden Fluss.Wie man Zeilen von Pandas Datenrahmen mit dem gleichen Wert basierend auf Bedingung in verschiedenen Spalte
id_home,name_home,lat_home,lon_home,id_work,work,lat_work,lon_work,value
1001,"Flensburg",54.78879007,9.4459971,1002,"Kiel",54.34189351,10.13048288,695
1001,"Flensburg",54.78879007,9.4459971,1003,"Lübeck, Hansestadt",53.88132436,10.72749774,106
1001,"Flensburg",54.78879007,9.4459971,1004,"Neumünster, Stadt",54.07797524,9.974475148,124
1001,"Flensburg",54.78879007,9.4459971,1051,"Dithmarschen",54.12904835,9.120139194,39
1001,"Flensburg",54.78879007,9.4459971,10,"Schleswig-Holstein",54.212,9.959,7618
1001,"Flensburg",54.78879007,9.4459971,1,"Schleswig-Holstein",54.20896049,9.957114419,7618
1001,"Flensburg",54.78879007,9.4459971,2000,"Hamburg, Freie und Hansestadt",53.57071859,9.943770215,567
1001,"Flensburg",54.78879007,9.4459971,20,"Hamburg",53.575,9.941,567
1001,"Flensburg",54.78879007,9.4459971,2,"Hamburg",53.57071859,9.943770215,567
1003,"Lübeck",53.88132436,10.72749774,100,"Saarland",49.379,6.979,25
1003,"Lübeck",53.88132436,10.72749774,10,"Saarland",54.212,9.959,25
1003,"Lübeck",53.88132436,10.72749774,11000,"Berlin, Stadt",52.50395948,13.39337765,274
1003,"Lübeck",53.88132436,10.72749774,110,"Berlin",52.507,13.405,274
1003,"Lübeck",53.88132436,10.72749774,11,"Berlin",52.50395948,13.39337765,274
Ich möchte alle benachbarten doppelten Zeilen mit dem gleichen Wert löschen und nur die letzte Zeile zu halten, wo id_work entweder eines einstelligen oder zweistelligen Bereich. Alle anderen Zeilen sollten gelöscht werden. Wie kann ich das erreichen? Was ich im Wesentlichen brauche, ist die folgende Ausgabe:
id_home,name_home,lat_home,lon_home,id_work,work,lat_work,lon_work,value
1001,"Flensburg",54.78879007,9.4459971,1002,"Kiel",54.34189351,10.13048288,695
1001,"Flensburg",54.78879007,9.4459971,1003,"Lübeck, Hansestadt",53.88132436,10.72749774,106
1001,"Flensburg",54.78879007,9.4459971,1004,"Neumünster, Stadt",54.07797524,9.974475148,124
1001,"Flensburg",54.78879007,9.4459971,1051,"Dithmarschen",54.12904835,9.120139194,39
1001,"Flensburg",54.78879007,9.4459971,1,"Schleswig-Holstein",54.20896049,9.957114419,7618
1001,"Flensburg",54.78879007,9.4459971,2,"Hamburg",53.57071859,9.943770215,567
1003,"Lübeck",53.88132436,10.72749774,10,"Saarland",54.212,9.959,25
1003,"Lübeck",53.88132436,10.72749774,11,"Berlin",52.50395948,13.39337765,274
Super dankbar für jede Hilfe!
Sind die Duplikate immer benachbart? Möchtest du immer den letzten behalten? –
Ja, sie sind immer benachbart. In einigen Fällen gibt es bis zu vier Duplikate mit 4,3,2- und 1-stelligen IDs. Ich möchte nur die letzte (d. H. 1-stellige) Zeile behalten. – Yoya01
basierend auf Ihren überarbeiteten Beispieldaten 'df.drop_duplicates ('value', keep = 'last') 'sollte funktionieren – EdChum