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()| col01 | col02 | col03 |
|---|---|---|
| A | a | 110 |
| C | c | 130 |
| C | c | 130 |
| D | a | 140 |
| A | a | 110 |
| A | a1 | 110 |
Pandasの上書き
python
# 「col01がA」の時は,「col03を10」にする
df2 = df.copy()
df2.loc[df2['col01']=='A', 'col03'] = 10
display(df2)| col01 | col02 | col03 |
|---|---|---|
| A | a | 10 |
| C | c | 130 |
| C | c | 130 |
| D | a | 140 |
| A | a | 10 |
| A | a1 | 10 |
python
# 「col01がA」以外は,「col03を10」にする
df2 = df.copy()
df2.loc[~(df2['col01']=='A'), 'col03'] = 10
display(df2)| col01 | col02 | col03 |
|---|---|---|
| A | a | 110 |
| C | c | 10 |
| C | c | 10 |
| D | a | 10 |
| A | a | 110 |
| A | a1 | 110 |
python
# 「col01がA」かつ「col02がa」の時は,「col03を10」にする
df2 = df.copy()
df2.loc[(df2['col01']=='A') & (df2['col02']=='a'), 'col03'] = 10
display(df2)| col01 | col02 | col03 |
|---|---|---|
| A | a | 10 |
| C | c | 130 |
| C | c | 130 |
| D | a | 140 |
| A | a | 10 |
| A | a1 | 110 |
まとめ
Pandasにおける条件付きで要素を上書きしました.