アルバイト募集2018-09-6Pandasで値を置換するreplace関数の使い方Tweetreplace関数APIドキュメントparams:returns:1つの値に対して1つの置換をする複数の値に対して1つの値を置換する複数の値に対してそれぞれ置換する値を指定する列ごとに置換する値を変える正規表現を使って置換する無効な値を前後の値で埋めあわせるまとめ参考Pandasでデータの値を置換したい時はreplace関数がよく使われます。本記事ではreplace関数の使い方について解説します。replace関数APIドキュメントreplace関数のAPIドキュメントは以下の通りです。DataFrameだけでなくSeriesにも適用できます。(省略可能)初期値None置換したい値を指定します。指定の仕方によっては置換した後の値も指定します。(省略可能)初期値Noneto_replaceで指定された値を置換する値をここで指定します。辞書形式だと列ごとに置換したい値を指定できます。(省略可能)初期値FalseTrueの時、変更を元のデータに反映させます。(省略可能)初期値None値を補完する時の最大繰り返し回数を指定します。(省略可能)初期値Falseto_replaceやvalueで指定された値を正規表現として処理するかどうかを指定します。ここに直接正規表現を指定します。(省略可能)初期値Noneto_replaceで指定された値がスカラーやリスト、タプルで、valueがNoneの時、どのような方法で補完をするかを指定します。returns:値が置換されたDataFrameが返されます。to_replaceやvalueで様々な置換の指定をできるので1つ1つみていきましょう。1つの値に対して1つの置換をする1つの値に対して1つの置換をする時はスカラー値でto_replaceとvalue引数を指定します。int64DataFrameに対しても同様です。int64複数の値に対して1つの値を置換する複数の置換する対象がある場合はリスト、タプルで指定します。d複数の値に対してそれぞれ置換する値を指定する複数の値に対してそれぞれ1つずつ置換する値を決めたい時は辞書が使えます。dリストとリストの組み合わせやタプルとタプルでも同様の指定が可能です。d列ごとに置換する値を変える第2引数であるvalue引数を辞書形式で指定するとキーを列名にして列ごとに置換する値を決めることができます。DataFrameに対してのみ有効です。2正規表現を使って置換する正規表現を使って値を指定することが可能となります。regex=Trueにすると指定した値を正規表現として処理してくれます。overflowの質問にあった例で考えていきます。LO380_004このように正規表現を使って値を指定し、置換することが可能です。無効な値を前後の値で埋めあわせる例えば、以下のようなデータがあったとします。int64この時、-999という値が無効な値として考えられるので前後の値で埋め合わせをしてみます。fillnaをより一般化した形で使っているイメージです。fillna関数の使い方は以下の記事で詳しく解説しています。int64デフォルトではmethod='pad'となっているので、直前の値をそのまま使用する形で埋め合わせをしています。逆に直後の値を使用したい時はmethod='bfill'を指定します。int64今度は繰り返し回数を制限します。limit引数に値を指定すればできます。今回は最大2回までにしてみましょう。int64まとめ今回はreplace関数の使い方について解説しました。値の置換をするのが基本的な役目ですが、fillna関数の拡張版として使うことも可能なのでうまく使えると非常に便利になると思います。正規表現が使えるので文字列に対して複雑な文字の置換も指定することも可能です。文字列の置換についてはstr.replace関数も有効です。McKinney(書籍)TweetDeepAgeではAIに関する厳選した内容を記事にしてお届けします。