ノンプログラマーのためのPython学習サイト

Pandas|数値のデータ抽出の方法まとめ

eye_catch_Pandas

困っている人

  • Pandasの数値のデータ抽出の方法を知りたい
  • DataFrameの特定の列や行を抽出したい
  • 特定の条件に一致するデータ(数値)を抽出したい
この記事で解決できること
  • 数値のデータ抽出の方法が一通り分かる
  • 特定の列や行を抽出する方法が分かる
  • 特定の条件に一致するデータ(数値)が抽出できる

データの前処理や分析をする時には、特定の条件に一致したデータ(数値)だけを抽出したい場面がよくあります。

この記事では、Pandasを使ってDataFrameの特定の列や行、あるいは特定の条件に一致するデータ(数値)を抽出する方法について説明していきます。

PandasのインポートとExcelファイル読み込み

pandas_文字列のデータ抽出

import pandas as pd
fruits_df = pd.read_excel('/content/fruits_20201019.xlsx')
fruits_df

1.pandasのインポート
2.データフレーム (fruits_df)へExcelファイルの読み込み
3.データフレーム (fruits_df)を表示

条件に一致する行のみデータ抽出(数値)

pandas_文字列のデータ抽出

fruits_df1 = fruits_df[fruits_df.販売数 == 90]
fruits_df1

1.販売数が”90”と一致する行のみデータ抽出
2.データフレーム (fruits_df1)を表示

条件に一致する行のみデータ抽出(比較演算子)_その1

pandas_文字列のデータ抽出

fruits_df2 = fruits_df[fruits_df.販売数 < 50]
fruits_df2

1.販売数が”50より少ない”行のみデータ抽出
2.データフレーム (fruits_df2)を表示

条件に一致する行のみデータ抽出(比較演算子)_その2

pandas_文字列のデータ抽出

fruits_df3 = fruits_df[fruits_df.販売数 >= 50]
fruits_df3

1.販売数が”50以上”の行のみデータ抽出
2.データフレーム (fruits_df3)を表示

複数条件に一致する行のみデータ抽出(数値・and条件)

pandas_文字列のデータ抽出

fruits_df4 = fruits_df[(fruits_df['フルーツ']=='りんご') & (fruits_df['販売数']<=90)]
fruits_df4

1.フルーツが”りんご”、販売数が”90以下”に一致する行のみデータ抽出
2.データフレーム (fruits_df4)を表示

複数条件に一致する行のみデータ抽出(数値・or条件)

pandas_文字列のデータ抽出

fruits_df5 = fruits_df[(fruits_df['フルーツ']=='りんご') | (fruits_df['販売数']>=50)]
fruits_df5

1.フルーツが”りんご”、販売数が”50以上”に一致する行のみデータ抽出
2.データフレーム (fruits_df5)を表示

【queryメソッド】条件に一致する行のみデータ抽出(数値)

pandas_文字列のデータ抽出

fruits_df6 = fruits_df.query('販売数 == 90')
fruits_df6

1.販売数が”90”に一致する行のみデータ抽出
2.データフレーム (fruits_df6)を表示

【queryメソッド】条件に一致する行のみデータ抽出(数値・リスト)

pandas_文字列のデータ抽出

fruits_df7 = fruits_df.query("販売数 == ['10', '90']")
fruits_df7

1.販売数が”10”、”90″に一致する行のみデータ抽出
2.データフレーム (fruits_df7)を表示

【queryメソッド】条件に一致する行のみデータ抽出(比較演算子)_その1

pandas_文字列のデータ抽出

fruits_df8 = fruits_df.query('販売数 < 50')
fruits_df8

1.販売数が”50より小さい”行のみデータ抽出
2.データフレーム (fruits_df8)を表示

【queryメソッド】複数条件に一致する行のみデータ抽出(比較演算子)_その1

pandas_文字列のデータ抽出

fruits_df9 = fruits_df.query('50 < 販売数 < 80')
fruits_df9

1.販売数が”50より大きい”、かつ”80より小さい行のみデータ抽出
2.データフレーム (fruits_df9)を表示

【queryメソッド】複数条件に一致する行のみデータ抽出(比較演算子・and条件)

pandas_文字列のデータ抽出

fruits_df10 = fruits_df.query("販売数 >= 50 & フルーツ == 'りんご'")
fruits_df10

1.販売数が”50以上”、かつフルーツが”りんご”に一致する行のみデータ抽出
2.データフレーム (fruits_df10)を表示

【queryメソッド】複数条件に一致する行のみデータ抽出(比較演算子・or条件)

pandas_文字列のデータ抽出

fruits_df11 = fruits_df.query("販売数 >= 80 | フルーツ == 'みかん'")
fruits_df11

1.販売数が”80以上”、またはフルーツが”みかん”に一致する行のみデータ抽出
2.データフレーム (fruits_df11)を表示