replaceとstr.replaceの違い

しかしサ、プログラムのさい、メソッドは、いろいろな記述の仕方があるので混乱するなぁ。

replaceとstr.replaceのちがいについて

fruits=pd.Series(['apple','banana','corn','dorian','eggplant'])
fruits

0 apple
1 banana
2 corn
3 dorian
4 eggplant

# 列の単語を変換する場合、replaceメソッド、str.replaceメソッド両方使える
# ただし、単語の変換では、replaceメソッドが一般的

fruits.replace('apple','orange')
0 orange
1 banana
2 corn
3 dorian
4 eggplant

fruits.str.replace('apple','orange')
0 orange
1 banana
2 corn
3 dorian
4 eggplant

# 列の単語の、その中の文字を変換する場合は、str.replaceメソッドしか有効ではない。

# replaceメソッド => 変化ナシ
fruits.replace('pple','apricot')
0 apple
1 banana
2 corn
3 dorian
4 eggplant

# str.replaceメソッド => 単語の中の文字も変換できる
fruits.str.replace('pple','pricot')
0 apricot
1 banana
2 corn
3 dorian
4 eggplant

# ただし、replaceメソッドでも、第3引数をregex=Trueとすることで、単語の中の文字も変換できる
fruits.replace('pple','pricot',regex=True)
0 apricot
1 banana
2 corn
3 dorian
4 eggplant

# 変換したい文字をリストに入れ、単語の中の文字を変換する場合、今度は、replace(regex=True)でしか有効にならない
conversion=['pple']
fruits.replace(conversion, 'pricot', regex=True)
0 apricot
1 banana
2 corn
3 dorian
4 eggplant

# 複数の単語にまたがり文字を変換する場合
conversion=['pple','an']
fruits.replace(conversion, 'pricot', regex=True)
0 apricot
1 banpricota
2 corn
3 doripricot
4 eggplpricott

# 確認 => 変換する文字をリスト化した場合、str.replaceでは不可
conversion=['pple']
fruits.str.replace(conversion, 'pricot', regex=True)
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN

気づいたことを、お気軽に。
公開まで、やや時間がかかりまーす!