Ich habe unten Datenrahmen.
id,code
1,GSTR
2,GSTR
3,NA
4,NA
5,NA
hier kann sich GSTR ändern, es kann alles sein. Ich möchte NA durch eine andere Zeichenfolge ersetzen, die in derselben Spalte vorhanden ist.
In diesem Fall möchte ich NA durch eine andere Zeichenfolge ersetzen, die in der Spalte vorhanden ist, dh GSTR. Ich habe versucht, UDFS zu verwenden, aber eine unbekannte Zeichenfolge. Ich kann es nicht herausfinden.
Hinweis: In dieser Codespalte gibt es nur zwei Zeichenfolgen. eine wird "NA" sein und eine andere kann alles sein, in unserem Fall ist GSTR eine andere Zeichenfolge
Erwartete Ausgabe
1,GSTR
2,GSTR
3,GSTR
4,GSTR
5,GSTR
wir können den anderen String als NA nehmen und ihn verwenden,
>>> from pyspark.sql import functions as F
>>> df = spark.createDataFrame([(1,'GSTR'),(2,'GSTR'),(3,'NA'),(4,'NA'),(5,'NA')],['id','code'])
>>> df.show()
+---+----+
| id|code|
+---+----+
| 1|GSTR|
| 2|GSTR|
| 3| NA|
| 4| NA|
| 5| NA|
+---+----+
>>> rstr = df.where(df.code != 'NA')[['code']].first().code
>>> df.withColumn('code',F.lit(rstr)).show()
+---+----+
| id|code|
+---+----+
| 1|GSTR|
| 2|GSTR|
| 3|GSTR|
| 4|GSTR|
| 5|GSTR|
+---+----+
Hoffe das hilft.
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.
Lass mich ein paar Worte sagen