Pysparkを使用して特定の文字列を抽出することで、列のノイズを減らす方法を教えてください。下記の表をご確認ください。 2つのカテゴリのみを持つのではなく、追加のテキスト(期間内)はどのグループにも繋がりません。下のUDFによって作成された列duration1はこの問題を解決するはずですが、 "value.contains()"、 "Like"または "in"のような演算子はありません。pyspark:別の列に含まれる文字列に基づいて列を作成する
期間|期間1 |
1日| 1日|
終日x日|その他|
半日|半日|
半日朝|その他|
def duration_simple(value):
if value == "Full day": return 'Full day'
elif value == "Half-day": return 'Half day'
else: return 'other'
udfduration_simple = udf(duration_simple, StringType())
new_df= old_df.withColumn("duration1", udfduration_simple("duration"))
を使用することができますか?単純にケースステートメント(spark sql)を使用しないでください – tbone