pandas Python

pandasで特定列のユニークな値を数値IDに変換する方法

この記事は約2分で読めます。

 

業務でこんな感じの文字列のデータフレームの列に対してユニークな値に対応する数値IDを割り振って新しく列を作りたいなぁと思って方法を調べたのでメモしておきます。

 

データ準備

 

イメージとしては購買データとかでアイテム名がデータがあるとします。

 

import pandas as pd
df = pd.DataFrame({
'item_name': ['水', 'コーラー', 'ウーロン茶', 'ウーロン茶', '水', 'お茶'],
})
df

 

<実行結果>

 

ここにitem_nameの値に応じて番号を振りたいとします(item_idの順序付けには条件が無いものとする。すなわち、出現順やアルファベット順でなくても良いとする。)

 

これをプログラムで自動で実行するにはfactorize()というメソッドを使ってあげると良いみたいです

というわけで実際に使ってみましょう。

 

factorize()関数でユニークな要素に対して数値IDを振る

 

#factorize()関数でユニークな要素に対して数値IDを振る
df['item_id'] = df['item_name'].factorize()[0]
df

 

<実行結果>

 

こんな感じでユニークな商品名ごとに固有のIDが割り振られています。マスタに商品名しかなくて数値IDで管理したいなぁなんて時にこれがあると便利ですね

 

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] 参考:pandasで特定列のユニークな値を数値IDに変換する方法 […]

タイトルとURLをコピーしました