今回は、Pythonのreplace()関数の機能を理解します。
Python の replace() 関数と String の組み合わせ
Pythonには、文字列を別の文字列に置き換えるためのstring.replace()関数が組み込まれています。
string.replace() 関数には、置き換えたい文字列と、古い文字列を置き換えたい新しい文字列を指定します。
構文は以下の通りです。
| string.replace("old string","new string", count) | 
- 
古い文字列:inp_str="Python with Python"res=inp_str.replace("Python","AP")print("Original String:",inp_str)print("Replaced String:",res)* old string: 置換される文字列。
- 
new string: 古い文字列の位置に配置したい、新しい文字列の部分。
- 
count: 文字列を新しい文字列で置き換える回数を表す。
例1: 例1: 関数に渡された古い文字列を新しい文字列に置き換える関数
| Original String: Python with PythonReplaced String: Python with AP | 
上記のコードでは、文字列 ‘Python’ を ‘AP’ に置き換えています。
出力は以下の通りです。
| inp_str ="abcdaaseweraa"res =inp_str.replace("a", "x",2)print("Original String:",inp_str)print("Replaced String:",res) | 
この記事もチェック:Pythonで文字列の一部分の置換をしたり削除をする方法
指定された数のインスタンスを置き換える
では、count パラメータを使って、置換したい文字列のインスタンス数を指定してみましょう。
例2: replace() 関数のパラメータとして count を使用する場合
| Original String: abcdaaseweraaReplaced String: xbcdxaseweraa | 
この例では、入力文字列として ‘abcdaaseweraa’ を渡しています。
さらに、元の文字列の「a」という文字を「x」という文字に置き換えるために渡しています。
つまり、最初の2文字だけが文字’x’に置き換えられる。
残りの文字’a’は後回しにされず、同じままです。
結果は以下の通りです。
| dataframe.str.replace('old string', 'new string') | 
この記事もチェック:Pythonのcount関数の使い方|文字列やリストでの使い方を解説する
Python の replace() 関数と Pandas モジュール
replace()関数は、csvファイルやテキストファイルに存在する文字列を置換するために使用することもできます。
PythonのPandasモジュールは、データセットを扱うときに便利です。
pandas.str.replace() 関数は、変数やデータ列の文字列を別の文字列に置き換えるために使用されます。
構文は以下の通りです。
| importpandasdf =pandas.read_csv("C:/IMDB_data.csv", sep=",",encoding='iso-8859-1')df['Language']=df['Language'].str.replace("English","Hindi") | 
以下の例では、以下のデータセットを使用します。

例えば、以下の様になります。

上記のコードでは、データセットをインポートして読み込むために pandas.read_csv() 関数 を使用しています。
上記のデータセットで見られるように、’English’を’Hindi’に置き換えるために、’Language’カラムを選択しています。
結果は以下の通りです。
偽タグ
まとめ
以上、Pythonのreplace()関数は、巨大なデータセットの文字列の一部を置き換える際に非常に便利であることを見てきました。
PythonでCSVファイルを扱う方法については、Pandasのチュートリアルをご覧になることを強くお勧めします。
