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

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)を表示

 

コメントを残す

メールアドレスが公開されることはありません。