Python

PySparkでデータフレームに列を追加する〜withColumn

Pandasのデータフレームで列を追加することはよくあると思いますが、PySparkでも同様にSpark DataFrameに列を追加したいことがあると思います。

ですが、列の追加方法はPandasとPySparkでは方法が異なりますので、ここで紹介しておきたいと思います。

 

Spark DataFrameに列を追加

Pandasで列を追加したかったら例えば以下のようにすればできますよね。

 

 
これは"add"列を追加して値は全て1になっている例ですが、PySparkではwithColumnsというメソッドを使って行います。

例えば、このようなSpark DataFrameがあるとします。

 

 
こちらはOnline Retailのデータセットを読み込んだものです。

この時に、UnitPrice列とQuantity列を使って、合計額を意味する"amount"列を作ってみたいと思います。

やり方は以下の通りです。

 

 

withColumnメソッドの第一引数には新しく作る列名を入れ、第二引数に新しい列の値を表す計算式などを入れます。

今回はUnitPrice列×Quantity列でamount列としますので、上記のように掛け算をしています。

結果はこちらです。
 

 

ちゃんと新しく列を作ることができていますね!

固定値とかを入れたい場合は、以下のようにlit(0)などとすればOKです。

 

 

Spark DataFrameの列名を変更

次に列名の変更方法も紹介したいと思います。

列名の変更はwithColumnRenamedメソッドを使います。

こちらの第一引数に変更したい列名を入れ、第二引数に変更後の列名を入力します。

例として、"Country"列を"Country_name"列にしてみます。

 

 

ちゃんと列名が変わっていますね!

 

 

PySparkでSpark DataFrameではこのようにwithColumnやwithColumnRenamedメソッドを使って、新しく列を作ったり、列名を変更したりします。

おすすめ記事

1

お疲れさまです! 久しぶりの更新になってしまいましたが、僕が未経験からデータサイエンティストになるまでの転職活動の全記録を書き残しておきたいと思います。 僕は博士号を取得後に研究員として仕事をしていま ...

2

こんにちわ、さとしです! 気がつけばこのデータサイエンティスト転職から、1年が経とうとしています。 今はご時世的に外にも出られず、変化があまりない生活を送ったせいもあってか、なんかあっという間に1年が ...

3

データサイエンティストに転職して1年が経ち、いろいろな業務を経験させてもらいつつ、自分でもある程度本を読んできました。 仕事の話は下記の記事で書きましたが、自分で読んだ本については書いていないのでこの ...

-Python

Copyright© さとぶろぐ , 2022 All Rights Reserved Powered by AFFINGER5.