Python

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

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

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

データサイエンティストとして3年間で3社経験した僕の転職体験談まとめ

こんにちわ、サトシです。33歳です。 今回は、データサイエンティストの3年間に3社で働いた僕が、データサイエンティストとしての転職活動についてまとめて書きたいと思います。 これまでSE→博士研究員→ポ ...

 

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メソッドを使って、新しく列を作ったり、列名を変更したりします。

 

PySparkの勉強法

もしPySparkをちゃんと学びたい方はUdemyのコースがおすすめです。日本語の書籍は古いやつしかないからです。。。

【Udemy】PySparkによる大規模データ処理手法と機械学習

英語でもよい方は英語のこのあたりがわかりやすいです。

おすすめ記事

1

こんにちわ、サトシです。33歳です。 今回は、データサイエンティストの3年間に3社で働いた僕が、データサイエンティストとしての転職活動についてまとめて書きたいと思います。 これまでSE→博士研究員→ポ ...

2

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

3

こんにちわ、サトシです。 今回は、企業でデータサイエンティストとして働いていた僕が、フリーランスとしてどのような手順で独立していったかについて書いていきたいと思います。 僕はSIer SE→博士過程→ ...

-Python

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