Ich habe eine Datenmenge, die ein wenig wie folgt aussieht:Python Pandas - Zeilen zusammenführen, wenn einige Werte sind leer
ID Name Address Zip Cost
1 Bob the Builder 123 Main St 12345
1 Bob the Builder $99,999.99
2 Bob the Builder 123 Sub St 54321 $74,483.01
3 Nigerian Prince Area 51 33333 $999,999.99
3 Pinhead Larry Las Vegas 31333 $11.00
4 Fox Mulder Area 51 $0.99
wo fehlende Daten in Ordnung ist, es sei denn, es ist offensichtlich, dass sie zusammengefügt werden können. Was ich damit meine, ist, dass anstelle des obigen Datasets die Zeilen zusammengeführt werden sollen, bei denen ID und Name identisch sind und die anderen Features die Leerzeichen des anderen ausfüllen können. Zum Beispiel würde der Datensatz oben geworden:
ID Name Address Zip Cost
1 Bob the Builder 123 Main St 12345 $99,999.99
2 Bob the Builder 123 Sub St 54321 $74,483.01
3 Nigerian Prince Area 51 33333 $999,999.99
3 Pinhead Larry Las Vegas 31333 $11.00
4 Fox Mulder Area 51 $0.99
Ich habe darüber nachgedacht, df.groupby(["ID", "Name"])
verwenden und dann die Saiten verketten, da die fehlenden Werte leere Strings sind, bekam aber kein Glück mit ihm.
Die Daten wurden von Websites gekratzt, also mussten sie eine Menge Reinigung durchmachen, um hier zu enden. Ich kann mir keine elegante Art vorstellen, das herauszufinden!
Vielen Dank! Ich habe dieses Muster auch bemerkt, als ich eine Groupby() auf dem Datenrahmen gemacht habe, aber nicht wirklich wusste, was ich damit machen sollte. Und ich hätte über die Einschränkungen geklärt werden sollen - die Randfälle waren schon erledigt, also waren es nur Sätze von 2 Reihen mit Duplikaten wie diesem. – kug3lblitz