データフレームで列を分割し、分割値を追加する方法

バベシュ

文字列型の「年齢」列を持つデータフレームがあり、次の形式で値を変更したいと考えています。

  • ヌルから 999
  • NaN to 0
  • 200歳以上999歳以上
  • 範囲(val1-val2) ~ (val1 + val 2) / 2
  • 他の値を同じに保ちます。

入力値の例

Age
=====  
0
null
NaN
999
200
35
25-30
45
null
NaN
35-40
======

必要な出力

Age
=====  
0
999
0
999
999
35
27
45
999
0
37
======

今まで試したコード

val formatted_df1 = df.withColumn("age", regexp_replace(col("age"), "null", "999")) -- This will change the value from null to 999
val formatted_df2 = formatted_df1.withColumn("age", regexp_replace(col("age"), "NaN", "0")) -- This will change the value from NaN to 0

単純な UDF 関数を記述して結果を取得できます。

val scrubUdf = udf((value : String ) => {
  value match {
    case "NaN"  => 0
    case "null" => 999
    case null   => 999
    case x if x.contains("-") => {
      //          (value.split("-")(0).toInt + value.split("-")(1).toInt) / 2
      x.split("-").map(x=> x.toInt).sum / 2
    }
    case x if x.toInt >= 200 => 999
    case _ => value.toInt
  }
})

udfとして呼び出すことができます

   df.withColumn("newAge", scrubUdf($"Age"))

お役に立てれば!

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Python、データフレームを使用して、列内の文字列の値を分割し、分割した値を使用して新しい列を追加する方法

分類Dev

入力ファイル名を分割し、sparkデータフレーム列に特定の値を追加する方法

分類Dev

データフレームで行を列に分割する方法

分類Dev

データフレームで行を列に分割する方法

分類Dev

データフレームをしきい値で分割する方法は?

分類Dev

データフレームの列値を複数の列に分割する方法

分類Dev

Pythonデータフレームでデータを分割し、配列値を自動的に取得する

分類Dev

Pandasデータフレームの列の値を分割する方法は?

分類Dev

Pythonを使用してデータフレーム内の値を分割する方法

分類Dev

列を分割してデータフレームを生成する

分類Dev

あるデータフレームの列を別のデータフレームの列で分割する方法

分類Dev

データフレームを列の値で2つに分割します

分類Dev

データフレーム内の数値で列を分割する

分類Dev

パンダのデータフレーム列を行の値で分割する

分類Dev

データフレーム内の配列値を新しいデータフレームに分割する-python

分類Dev

データフレームで文字列を分割する

分類Dev

R列の改行でデータフレームを分割する

分類Dev

定期的な値の列を使用してパンダのデータフレームを分割する方法

分類Dev

行の値を追加してから、データフレーム間で分割する

分類Dev

sparklyr でデータ フレームを再分割する方法

分類Dev

Rでデータフレームを分割する方法

分類Dev

Pythonで日付を使用してデータフレーム列を複数の列に分割する方法

分類Dev

パンダデータフレームの列の値を分割して分類する方法

分類Dev

各列の値に等しい行数でパンダデータフレームを分割する

分類Dev

Pandas strは列を分割し、データフレームに追加します

分類Dev

列を分割してデータフレームに追加します-R

分類Dev

データフレームを列値で分割Scala

分類Dev

Rの別のデータフレームの対応する値を使用して、データフレームの各列を分割できますか?

分類Dev

文字列をコンマで分割し、パンダのデータフレームに挿入する方法

Related 関連記事

  1. 1

    Python、データフレームを使用して、列内の文字列の値を分割し、分割した値を使用して新しい列を追加する方法

  2. 2

    入力ファイル名を分割し、sparkデータフレーム列に特定の値を追加する方法

  3. 3

    データフレームで行を列に分割する方法

  4. 4

    データフレームで行を列に分割する方法

  5. 5

    データフレームをしきい値で分割する方法は?

  6. 6

    データフレームの列値を複数の列に分割する方法

  7. 7

    Pythonデータフレームでデータを分割し、配列値を自動的に取得する

  8. 8

    Pandasデータフレームの列の値を分割する方法は?

  9. 9

    Pythonを使用してデータフレーム内の値を分割する方法

  10. 10

    列を分割してデータフレームを生成する

  11. 11

    あるデータフレームの列を別のデータフレームの列で分割する方法

  12. 12

    データフレームを列の値で2つに分割します

  13. 13

    データフレーム内の数値で列を分割する

  14. 14

    パンダのデータフレーム列を行の値で分割する

  15. 15

    データフレーム内の配列値を新しいデータフレームに分割する-python

  16. 16

    データフレームで文字列を分割する

  17. 17

    R列の改行でデータフレームを分割する

  18. 18

    定期的な値の列を使用してパンダのデータフレームを分割する方法

  19. 19

    行の値を追加してから、データフレーム間で分割する

  20. 20

    sparklyr でデータ フレームを再分割する方法

  21. 21

    Rでデータフレームを分割する方法

  22. 22

    Pythonで日付を使用してデータフレーム列を複数の列に分割する方法

  23. 23

    パンダデータフレームの列の値を分割して分類する方法

  24. 24

    各列の値に等しい行数でパンダデータフレームを分割する

  25. 25

    Pandas strは列を分割し、データフレームに追加します

  26. 26

    列を分割してデータフレームに追加します-R

  27. 27

    データフレームを列値で分割Scala

  28. 28

    Rの別のデータフレームの対応する値を使用して、データフレームの各列を分割できますか?

  29. 29

    文字列をコンマで分割し、パンダのデータフレームに挿入する方法

ホットタグ

アーカイブ