Pythonのreplaceメソッドを使って文字列を置換する方法

スポンサーリンク

今回は、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 Python
Replaced 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)

指定された数のインスタンスを置き換える

では、count パラメータを使って、置換したい文字列のインスタンス数を指定してみましょう。

例2: replace() 関数のパラメータとして count を使用する場合

Original String: abcdaaseweraa
Replaced String: xbcdxaseweraa

この例では、入力文字列として ‘abcdaaseweraa’ を渡しています。

さらに、元の文字列の「a」という文字を「x」という文字に置き換えるために渡しています。

つまり、最初の2文字だけが文字’x’に置き換えられる。

残りの文字’a’は後回しにされず、同じままです。

結果は以下の通りです。

dataframe.str.replace('old string', 'new string')

Python の replace() 関数と Pandas モジュール

replace()関数は、csvファイルやテキストファイルに存在する文字列を置換するために使用することもできます。

PythonのPandasモジュールは、データセットを扱うときに便利です。

pandas.str.replace() 関数は、変数やデータ列の文字列を別の文字列に置き換えるために使用されます。

構文は以下の通りです。

import pandas
df = pandas.read_csv("C:/IMDB_data.csv", sep=",",encoding='iso-8859-1')
df['Language']=df['Language'].str.replace("English","Hindi")

以下の例では、以下のデータセットを使用します。

Input Data Set
Input Data Set

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

Output-replace() function
Output-replace() function

上記のコードでは、データセットをインポートして読み込むために pandas.read_csv() 関数 を使用しています。

上記のデータセットで見られるように、’English’を’Hindi’に置き換えるために、’Language’カラムを選択しています。

結果は以下の通りです。

偽タグ

まとめ

以上、Pythonのreplace()関数は、巨大なデータセットの文字列の一部を置き換える際に非常に便利であることを見てきました。

PythonでCSVファイルを扱う方法については、Pandasのチュートリアルをご覧になることを強くお勧めします。

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