Entfernen Sie Leerzeichen aus den Datenrahmenspaltenwerten in Spark

Iz M.

Ich habe einen Datenrahmen ( business_df) des Schemas:

|-- business_id: string (nullable = true)
|-- categories: array (nullable = true)
|    |-- element: string (containsNull = true)
|-- city: string (nullable = true)
|-- full_address: string (nullable = true)
|-- hours: struct (nullable = true)
|-- name: string (nullable = true)

Ich möchte einen neuen Datenrahmen ( new_df) erstellen, damit die Werte in der 'name'Spalte keine Leerzeichen enthalten.

Mein Code lautet:

from pyspark import SparkContext
from pyspark.sql import SQLContext
from pyspark.sql import HiveContext
from pyspark.sql.functions import UserDefinedFunction
from pyspark.sql.types import StringType

udf = UserDefinedFunction(lambda x: x.replace(' ', ''), StringType())
new_df = business_df.select(*[udf(column).alias(name) if column == name else column for column in business_df.columns])
new_df.registerTempTable("vegas")
new_df.printSchema()
vegas_business = sqlContext.sql("SELECT stars, name from vegas limit 10").collect()

Ich erhalte immer wieder diesen Fehler:

NameError: global name 'replace' is not defined

Was ist los mit diesem Code?

null323

Während das von Ihnen beschriebene Problem mit dem bereitgestellten Code nicht reproduzierbar ist, ist die Verwendung von Python UDFszur Ausführung einfacher Aufgaben wie dieser eher ineffizient. Wenn Sie einfach Leerzeichen aus dem Text entfernen möchten, verwenden Sie regexp_replace:

from pyspark.sql.functions import regexp_replace, col

df = sc.parallelize([
    (1, "foo bar"), (2, "foobar "), (3, "   ")
]).toDF(["k", "v"])

df.select(regexp_replace(col("v"), " ", ""))

Wenn Sie leere Zeilen normalisieren möchten, verwenden Sie trim:

from pyspark.sql.functions import trim

df.select(trim(col("v")))

Wenn Sie führende / nachfolgende Leerzeichen behalten möchten, können Sie Folgendes anpassen regexp_replace:

df.select(regexp_replace(col("v"), "^\s+$", ""))

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Entfernen Sie Leerzeichen aus allen Spalten mit Spark

Entfernen Sie Leerzeichen aus den Spaltennamen nach model.matrix

Entfernen Sie Leerzeichen aus den XML-Tag-Elementnamen

Entfernen Sie Leerzeichen aus DataGrid

Entfernen Sie Leerzeichen aus SVG

Entfernen Sie den Leerzeichen-Zeichensatz aus der Zeichenfolge ohne Leerzeichen

Entfernen Sie den Dezimalpunkt aus einer Dezimalzeichenfolge in spark Dataframe

So entfernen Sie Leerzeichen zwischen den Zeichenfolgen

Entfernen Sie Leerzeichen um den Text in div

Entfernen Sie Leerzeichen aus Array-Werten

Entfernen Sie Leerzeichen aus einer Variablen

Entfernen Sie alle Leerzeichen aus der Zeichenfolge

Entfernen Sie ALLE Leerzeichen aus dem Text

Entfernen Sie unter Linux Leerzeichen aus Dateinamen

Entfernen Sie Leerzeichen aus std :: string in C ++

Entfernen Sie alle Leerzeichen aus NSString

So entfernen Sie Leerzeichen aus diesem SVG

Entfernen Sie das Leerzeichen zwischen den Wörtern aus der 5. Spalte

So schreiben Sie JSONConverter, um Leerzeichen aus den <string> ICollection-Elementen zu entfernen

Entfernen Sie mehrere Leerzeichen mit einem einzigen Leerzeichen in Spark SQL

Entfernen Sie Zeichenfolgen wie Leerzeichen + Buchstabe + Leerzeichen aus einer Datenrahmenspalte

Entfernen Sie Wörter aus der Phrase und lassen Sie nur ein Leerzeichen zwischen den Wörtern

Leerzeichen aus Spalte entfernen

Leerzeichen aus Zeichenfolgen entfernen

Leerzeichen aus Textdatei entfernen

PHP Entfernen Sie zusätzliche Leerzeichen zwischen den Trennlinien

Entfernen Sie Leerzeichen oben und unten in den Elementen in AlertDialog

So entfernen Sie Leerzeichen in den Paginierungsschaltflächen von Datatables

Entfernen Sie das Leerzeichen in den Schlüsseln eines Wörterbuchs

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv