python 2020年12月4日 22時21分 S., Masaya pandasで条件抽出する2つの方法(単一条件、複数条件) +1 pandasで条件抽出する方法には、queryメソッドを使う場合と使わない場合がある。 A列に1-100、B列に101-200、 C列に201から300のデータが並んでいる100行のデータを考える。 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)],]) Contents hide 1 メソッドを使用しない場合: 2 queryメソッドを使用する場合: 2.1 単一条件での抽出: メソッドを使用しない場合: #A列が20未満を抜き出す df = df[(df["A"]<20)] #A列が20より大きく、かつ、50未満を抜き出す df = df[(df["A"]>20)&(df["A"]<50)] #A列が20より大きく、または、50未満を抜き出す df = df[(df["Α"]>20)|(dF["B"]<50)) 複数条件の場合、かっこで個々の条件を囲む必要がある。 queryメソッドを使用する場合: 単一条件での抽出: #Aが20未満を抜き出す df = df.query('A< 20') df = df.query('(A > 20) and (A < 50)') df = df.query('(A > 20) | (A < 50)') 個人的にはqueryを使わない方が好みです。 特定の文字列を含む行を取得したい場合はこちら +1