絹田
絹田
プログラミングを究めて週の半分しか働かなくなったサラリーマンの絹田です.今回はPandasで条件抽出をする方法について紹介します

ここでソースコードをブラウザで実行できます.触りながらだと理解が深まると思います?

数字の場合

数字と文字列で大きく分けられるので,まずは数字の場合について説明します.

サンプルデータ

サンプルデータとしてはこちらを使います.3列100行のデータで,左からA列,B列,C列という名前にします.A列には0-99の数字を入れていて、B列, C列にはそれぞれに100-199、200から299のデータが並んでいます。

import pandas as pd 
df = pd.DataFrame({ 
	'A':[i for i in range(100)],
	'B':[i+100 for i in range(100)],
	'C':[i+200 for i in range(100)]
})
print(df)

A列が20未満を抜き出す

#方法1
df = df.query('(A < 20)')
#方法2
df = df[df['A']<20]

A列が20より大きく、かつ、50未満を抜き出す

#方法1
df = df.query('(A < 20) and (A < 50)') #方法2 df = df[(df["A"]>20)&(df["A"]<50)]

A列が20より大きく、または、50未満を抜き出す

#方法1
df = df[(df["A"]>20)|(df["A"]<50)] #方法2 df = df.query('(A > 20) | (A < 50)')

About The Author

絹田 真也

プログラミングを究めて週の半分しか働かなくなったサラリーマンです.
物理化学で修士課程修了後,2012年に日本を代表する大手インフラメーカーに就職.趣味の開発も含めて1日12時間以上プログラミングを行う生活を5年続け,データエンジニアリング,Webアプリ構築を習得.会社員を続ける傍ら,スマホアプリ構築やフリーランスとしてベンチャー企業を中心にデータエンジニアリング業務を請け負っています.
Webサイト