<pandas, Python> カラムの値を比較して、同じ値の行を抽出する。

カラムcolumnの値を比較して、同じ値の行rowを抽出する。 対象のカラムを選択して、apply()をして、その中で、lambda関数で文字列比較処理をすればいい。

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

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

In [37]: df['e'] = df[['a','b']].apply(lambda x: 'hage!' if x[0] == x[1] else 'hige.', axis=1)

In [38]: df
Out[38]: 
   a   b   c      e
0  1   1   5  hage!
1  2   4   7  hige.
2  3   6   8  hige.
3  4   8   9  hige.
4  5  10  10  hige.

過去記事が役にたった。よかった。よかった。
nekoyukimmm.hatenablog.com