大量のデータを分析するプロセスでは、テキストベースのデータを数値データに処理する必要がある場合があります。これは、モデルに入れて使用するのに便利です。
変数の悲惨化など、セグメント内の数値データを処理する必要がある場合もあります。そして、これらの操作は、pythonのapply関数で処理できます。
今日は、データ分析の4番目のレッスンを紹介し、Pythonでapply関数を使用して、データフレームに対してより複雑な操作を実行する方法を説明します。
この記事の内容
注:この記事では、データ分析の最初のレッスンでデータフレームdate_frameを使用します[[Pythonデータ分析-データ作成](http://mp.weixin.qq.com/s?__biz=MzIxMjA1NzQzMQ==&mid=2247485128&idx=1&sn=64a6f87a16fa3cd41dadfcfea2f76787&chksm=974aaaf0a03d23e69179350c6fd900a2ba12d34c0a82426654fb76b5315e0936251d307375f1&scene=21#wechat_redirect)]:
** 1 文字データを数値データに処理する**
元のデータフレームの性別列を置き換え、「男性」文字を1に置き換え、「女性」文字を0に置き換えて、新しい列を生成するとします。
まず、置換機能をカスタマイズできます。具体的な説明は次のとおりです。
def replace_gender_to_num(val):if val=='男性':return1else:return0
次に、apply関数を使用して関数を呼び出します。具体的なステートメントは、次のとおりです。
date_frame.gender.apply(replace_gender_to_num)
結果は次のとおりです。
これまでのところ、元の性別列の「男性」文字は1に置き換えられ、「女性」文字は0に置き換えられています。
元のデータフレームに列を追加します。具体的なステートメントは次のとおりです。
date_frame['new_gender']= date_frame.gender.apply(replace_gender_to_num)
結果は次のとおりです。
性別が男性であり、対応する値がnew_genderで1であり、性別が女性であり、対応する値がnew_genderで0であることがわかります。
** 2 セグメント内の数値データを処理する**
モデリングプロセスでは、さまざまなセグメントの値を対応する問題に変換するには、処理に適用機能を使用する必要があります。
同様に、この例では、身長が1.8を超える生徒を最初のカテゴリ、身長が1.65を超える生徒を2番目のカテゴリ、残りの生徒を3番目のカテゴリと見なします。
変換関数は次のように定義できます。
def height_to_class(val):if val>=1.8:return1
elif val>=1.65:return2else:return3
次に、apply関数を使用して関数を呼び出し、結果値を元のデータフレームに保存します。具体的なステートメントは次のとおりです。
date_frame['heigth_class']= date_frame.height.apply(height_to_class)
結果は次のとおりです。
これまでに、データ処理のためのpythonでのapply関数のアプリケーションが導入されました。それを練習して、apply関数に他の用途があるかどうかを考えることができます。
Recommended Posts