困っている人
- Pandasの数値のデータ抽出の方法を知りたい
- DataFrameの特定の列や行を抽出したい
- 特定の条件に一致するデータ(数値)を抽出したい
- 数値のデータ抽出の方法が一通り分かる
- 特定の列や行を抽出する方法が分かる
- 特定の条件に一致するデータ(数値)が抽出できる
データの前処理や分析をする時には、特定の条件に一致したデータ(数値)だけを抽出したい場面がよくあります。
この記事では、Pandasを使ってDataFrameの特定の列や行、あるいは特定の条件に一致するデータ(数値)を抽出する方法について説明していきます。
目次 非表示
- PandasのインポートとExcelファイル読み込み
- 条件に一致する行のみデータ抽出(数値)
- 条件に一致する行のみデータ抽出(比較演算子)_その1
- 条件に一致する行のみデータ抽出(比較演算子)_その2
- 複数条件に一致する行のみデータ抽出(数値・and条件)
- 複数条件に一致する行のみデータ抽出(数値・or条件)
- 【queryメソッド】条件に一致する行のみデータ抽出(数値)
- 【queryメソッド】条件に一致する行のみデータ抽出(数値・リスト)
- 【queryメソッド】条件に一致する行のみデータ抽出(比較演算子)_その1
- 【queryメソッド】複数条件に一致する行のみデータ抽出(比較演算子)_その1
- 【queryメソッド】複数条件に一致する行のみデータ抽出(比較演算子・and条件)
- 【queryメソッド】複数条件に一致する行のみデータ抽出(比較演算子・or条件)
PandasのインポートとExcelファイル読み込み
import pandas as pd
fruits_df = pd.read_excel('/content/fruits_20201019.xlsx')
fruits_df
1.pandasのインポート
2.データフレーム (fruits_df)へExcelファイルの読み込み
3.データフレーム (fruits_df)を表示
条件に一致する行のみデータ抽出(数値)
fruits_df1 = fruits_df[fruits_df.販売数 == 90]
fruits_df1
1.販売数が”90”と一致する行のみデータ抽出
2.データフレーム (fruits_df1)を表示
条件に一致する行のみデータ抽出(比較演算子)_その1
fruits_df2 = fruits_df[fruits_df.販売数 < 50]
fruits_df2
1.販売数が”50より少ない”行のみデータ抽出
2.データフレーム (fruits_df2)を表示
条件に一致する行のみデータ抽出(比較演算子)_その2
fruits_df3 = fruits_df[fruits_df.販売数 >= 50]
fruits_df3
1.販売数が”50以上”の行のみデータ抽出
2.データフレーム (fruits_df3)を表示
複数条件に一致する行のみデータ抽出(数値・and条件)
fruits_df4 = fruits_df[(fruits_df['フルーツ']=='りんご') & (fruits_df['販売数']<=90)]
fruits_df4
1.フルーツが”りんご”、販売数が”90以下”に一致する行のみデータ抽出
2.データフレーム (fruits_df4)を表示
複数条件に一致する行のみデータ抽出(数値・or条件)
fruits_df5 = fruits_df[(fruits_df['フルーツ']=='りんご') | (fruits_df['販売数']>=50)]
fruits_df5
1.フルーツが”りんご”、販売数が”50以上”に一致する行のみデータ抽出
2.データフレーム (fruits_df5)を表示
【queryメソッド】条件に一致する行のみデータ抽出(数値)
fruits_df6 = fruits_df.query('販売数 == 90')
fruits_df6
1.販売数が”90”に一致する行のみデータ抽出
2.データフレーム (fruits_df6)を表示
【queryメソッド】条件に一致する行のみデータ抽出(数値・リスト)
fruits_df7 = fruits_df.query("販売数 == ['10', '90']")
fruits_df7
1.販売数が”10”、”90″に一致する行のみデータ抽出
2.データフレーム (fruits_df7)を表示
【queryメソッド】条件に一致する行のみデータ抽出(比較演算子)_その1
fruits_df8 = fruits_df.query('販売数 < 50')
fruits_df8
1.販売数が”50より小さい”行のみデータ抽出
2.データフレーム (fruits_df8)を表示
【queryメソッド】複数条件に一致する行のみデータ抽出(比較演算子)_その1
fruits_df9 = fruits_df.query('50 < 販売数 < 80')
fruits_df9
1.販売数が”50より大きい”、かつ”80より小さい行のみデータ抽出
2.データフレーム (fruits_df9)を表示
【queryメソッド】複数条件に一致する行のみデータ抽出(比較演算子・and条件)
fruits_df10 = fruits_df.query("販売数 >= 50 & フルーツ == 'りんご'")
fruits_df10
1.販売数が”50以上”、かつフルーツが”りんご”に一致する行のみデータ抽出
2.データフレーム (fruits_df10)を表示
【queryメソッド】複数条件に一致する行のみデータ抽出(比較演算子・or条件)
fruits_df11 = fruits_df.query("販売数 >= 80 | フルーツ == 'みかん'")
fruits_df11
1.販売数が”80以上”、またはフルーツが”みかん”に一致する行のみデータ抽出
2.データフレーム (fruits_df11)を表示