LoginSignup
0

More than 1 year has passed since last update.

IQ Bot カスタムロジック(Python):差し替え処理をループで効率化

除外処理置換処理に関するループを使った効率化を立て続けに解説してきましたが、すごく似たパターンで「差し替え」についてもループで効率化する方法を解説します。

「差し替え」とは?

これはプログラミング用語じゃないです。
こちらの記事で紹介しているような、「ある文字列が含まれていたら、別の文字列に置き換える」という処理です。

置換の応用ですね。

「差し替え」をループで使う場面は?

たとえば「請求書の明細に略称で書かれてくる部門名を正式名称にしたい」とか、「注文書の明細に略称で書かれてくる商品名を正式名称にしたい」とか、そんな場面が該当すると思います。

ズバリ、やりかた!(フィールド項目編)

差し替え@フィールド項目
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ぼっちをリアルにご存じの方は、仕事用のメールに質問をください。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0