Skip to content

Pandasにおける条件付きで要素を上書きします.

データフレームの作成

データフレームの作成します.

python
import pandas as pd
import numpy as np

df = pd.DataFrame([['A','a',110], ['C','c',130], ['C','c',130], ['D', 'a',140],['A','a',110]],
                  columns=['col01', 'col02', 'col03'])
df.head()
col01col02col03
Aa110
Cc130
Cc130
Da140
Aa110
Aa1110

Pandasの上書き

python
# 「col01がA」の時は,「col03を10」にする
df2 = df.copy()
df2.loc[df2['col01']=='A', 'col03'] = 10
display(df2)
col01col02col03
Aa10
Cc130
Cc130
Da140
Aa10
Aa110
python
# 「col01がA」以外は,「col03を10」にする
df2 = df.copy()
df2.loc[~(df2['col01']=='A'), 'col03'] = 10
display(df2)
col01col02col03
Aa110
Cc10
Cc10
Da10
Aa110
Aa1110
python
# 「col01がA」かつ「col02がa」の時は,「col03を10」にする
df2 = df.copy()
df2.loc[(df2['col01']=='A') & (df2['col02']=='a'), 'col03'] = 10
display(df2)
col01col02col03
Aa10
Cc130
Cc130
Da140
Aa10
Aa1110

まとめ

Pandasにおける条件付きで要素を上書きしました.

参考サイト

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