Pandasにおける条件付きで要素を上書きする
/
Pandasにおける条件付きで要素を上書きします.
# データフレームの作成
データフレームの作成します.
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の上書き
# 「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 |
# 「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 |
# 「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における条件付きで要素を上書きしました.