空白の値の場合、連続した全角スペースで埋めるというCSVに遭遇したケースの対処法。 正規表現 “\s+” はスペース、タブ、改行などが該当し、+で1文字以上の繰り返しを指す。 strがreplac […]
PandasでConcatすると列数が増えた
Pandasのconcatメソッドでデータフレームを結合すると、列数が増える現象が発生。 カラム名にはデータと思しき値が入っている。 データの中にカンマが入ったテキストでもあったのかと思い、元データを確認するが、それらし […]
Pandasで特定の文字列(部分一致)を含む行を抽出する
カテゴリーによる抽出などの完全一致は頻出だけど、部分一致は案外使わないのでメモ。 まずはいつものDF。 部分一致を使う場合は、str.containsメソッドを使う。戻ってくるのはSeries。 第1引数は正規表現での検 […]
Pandas 複数の条件に合致した行を削除する
複数のカラムにまたがった条件を満たした行をデータフレームから除去する方法。パッと思いつかなかったのでメモしておく。 シンプルな方法 ひと手間かかるが、複数条件に合致する行のインデックスを定義してdrop関数に渡す。 まず […]
k-meansでクラスタリング
クラスタリングとは分類そのものを作成する手法 クラスタリングは複数の項目から対象のクラスターを分類する手法。小売りの現場での主な用途としては 顧客の購買履歴を使用した分類 店舗の立地条件などを使用した分類 商品の売れ行き […]
Series同士の連結 append編
複数のシリーズ同士を連結する際は、appendもしくはconcatを使う。 連結には2種類あって、行を連結するパターンと列を連結するパターンがある。ただ複数に別れたユーザIDの連結など、下に下につないでいくパターンが私の […]
Pandas 文字列をmapで置換
要素の置換にはreplaceがまず浮かぶが、mapの方が高速で置換することができる(らしい)。 辞書を使った置換操作 mapの場合、辞書を使った置換ができる。これはapplyではできない。 データフレームではなく、シリー […]
数値の列と文字列の列を結合
pandasで数値の列と文字列を結合する場合、数値をobjectに変換してから結合する必要がある。 例えば 型を確認する 数値列がintになっている。これをそのまま結合すると、怒られる。 よって、一度数値型の列を文字列型 […]
Pandas applyのおさらい
ラムダ式の用法をマスターする上で、applyの知識をおさらいしておく。 apply apply関数は、データフレームもシリーズも適用することができる関数。 似た関数にはmapやapplymapがある。mapはシリーズに使 […]
lambda関数をマスターする
なんか便利そうだけど、よく分からないので触れずにいたラムダ関数をマスターすべく、勉強することにする。λを見ると、Half-Lifeしか思い浮かばない。 とっても分かりやすいnoteがあったので、それに従って進めていく。 […]
Pandasでreplaceメソッドを使ったテキスト置換
前処理を進めていく上で、生データの中にある誤りを訂正したりする際に使う置換に関して。 該当する要素まるごと置換していい場合 “typeA” を “typeB” に置き換える […]
PandasでユニークなIDをカウントする方法
地味に利用頻度が高い、ユニークな値のカウント方法について。 前処理を始める前の外観を確認する場合や、取り急ぎ要素の数をまとめた数字が欲しいと言われた場合に便利。 nuniqueメソッドを使うと1手早い。が、なぜかlenを […]