除外処理、置換処理に関するループを使った効率化を立て続けに解説してきましたが、すごく似たパターンで「差し替え」についてもループで効率化する方法を解説します。
##「差し替え」とは?
これはプログラミング用語じゃないです。
こちらの記事で紹介しているような、「ある文字列が含まれていたら、別の文字列に置き換える」という処理です。
置換の応用ですね。
##「差し替え」をループで使う場面は?
たとえば「請求書の明細に略称で書かれてくる部門名を正式名称にしたい」とか、「注文書の明細に略称で書かれてくる商品名を正式名称にしたい」とか、そんな場面が該当すると思います。
##ズバリ、やりかた!(フィールド項目編)
sashikae_list = (("これが含まれていたら1","これに差し替えてね1"),
("これが含まれていたら2","これに差し替えてね2"),
("これが含まれていたら3","これに差し替えてね3"))
for i in sashikae_list:
if i[0] in field_value:
field_value = i[1]
解説は置換編のこのあたりを参照してください。ほぼ同じ仕組みです。
##ズバリ、やりかた!(テーブル編)
sashikae_list = (("これが含まれていたら1","これに差し替えてね1"),
("これが含まれていたら2","これに差し替えてね2"),
("これが含まれていたら3","これに差し替えてね3"))
def table_sashikae(x,y):
for i in y:
if i[0] in x:
x = i[1]
return x
df['列名'] = df['列名'].apply(table_sashikae,y=sasihkae_list)
##以上!
いかがでしたか?
今回は、仕組みとしては差し替えの処理を、置換のループと同じ構造で処理しているだけなので、あまり解説を厚くしていません。
ご質問がある方は、この記事にコメントをお寄せいただくか、TwitterのDMにてご連絡ください。
※ 上記は毎日チェックできているわけではないため、回答に時間がかかる場合があります。
IQぼっちをリアルにご存じの方は、仕事用のメールに質問をください。