条件に応じて値を代入(iloc, where, mask)

投稿者: | 2022-02-02

Sファイルの個人情報を削除する

# サンプルDF
df = pd.DataFrame({'COL_1': ['H','H','D','D','E'],
                   'COL_2': [1, 2, 3, 4, 5],
                   'COL_3': ['aaa', 'bbb', '吉田松陰', '坂本龍馬', 'ccc']})
df
# COL_1が「D」の場合、その行のCOL_3の個人情報を消したい

# パターン1:df.locを利用する、df.loc[行、列] = 代入値、のカタチになっている
df.loc[df['COL_1'] == 'D', 'COL_3'] = ''

# パターン2:
df['COL_3'].where(~(df['COL_1'] == 'D'), other='', inplace=True)

df