Ich habe einen Funken Datenrahmen wie folgt aus:Wie flattere ich einen pySpark-Datenrahmen um eine Array-Spalte?
+------+--------+--------------+--------------------+
| dbn| boro|total_students| sBus|
+------+--------+--------------+--------------------+
|17K548|Brooklyn| 399|[B41, B43, B44-SB...|
|09X543| Bronx| 378|[Bx13, Bx15, Bx17...|
|09X327| Bronx| 543|[Bx1, Bx11, Bx13,...|
+------+--------+--------------+--------------------+
Wie flattern ich es so, dass jede Zeile für jede für jedes Element in S-Bus kopiert wird, und S-Bus wird eine normale String-Spalte sein?
So würde das Ergebnis so aussehen:
+------+--------+--------------+--------------------+
| dbn| boro|total_students| sBus|
+------+--------+--------------+--------------------+
|17K548|Brooklyn| 399| B41 |
|17K548|Brooklyn| 399| B43 |
|17K548|Brooklyn| 399| B44-SB |
+------+--------+--------------+--------------------+
und so weiter ...
Können Sie die erwartete Ausgabe bereitstellen? Erwarten Sie ein kartesisches Produkt zwischen 'sBus' und' sSw'? – zero323
danke! hat das erwartete Ergebnis hinzugefügt. Der Einfachheit halber entfernt sSw Spalte –
Nun, Sie können 'explode' verwenden (siehe zum Beispiel http://StackOverflow.com/q/36484385/1560062), aber es ist nicht so einfach, wenn Sie mehrere Spalten haben. – zero323