<Python, pandas> カラムの値で要素を検索する。 複数条件。

また忘れかかっていたので、再度メモ。

データフレームDataFrameでカラムcolumnの値で検索をかけて、
特定要素elementの値を書き換える方法。

.loc[]を使う。
複数の条件も指定可能。

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({'a':[1,2,3,4,5],'b':[2,4,6,8,10],'c':[5,7,8,9,10]})

In [3]: df
Out[3]: 
   a   b   c
0  1   2   5
1  2   4   7
2  3   6   8
3  4   8   9
4  5  10  10

In [5]: df.loc[(df.a == 2) & (df.b == 6), 'c']
Out[5]: Series([], Name: c, dtype: int64)

In [6]: df.loc[(df.a == 2) & (df.b == 4), 'c']
Out[6]: 
1    7
Name: c, dtype: int64

In [7]: df.loc[(df.a == 2) & (df.b == 4), 'c'] = 'hage'

In [8]: df
Out[8]: 
   a   b     c
0  1   2     5
1  2   4  hage
2  3   6     8
3  4   8     9
4  5  10    10

過去記事。

nekoyukimmm.hatenablog.com