【Pandas】文字列のデータ抽出の方法まとめ

pandas文字列の抽出

困っている人

  • Pandasの文字列のデータ抽出の方法を知りたい
  • DataFrameの特定の列や行を抽出したい
  • 特定の条件に一致するデータ(文字列)を抽出したい

 

この記事で解決できること
  • 文字列のデータ抽出の方法が一通り分かる
  • 特定の列や行を抽出する方法が分かる
  • 特定の条件に一致するデータ(文字列)が抽出できる

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

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

 

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

pandas_データ抽出(文字列)

import pandas as pd
fruits_df = pd.read_excel('/content/fruits_20201018.xlsx')
fruits_df
  1. pandasのインポート
  2. データフレーム (fruits_df)へExcelファイルの読み込み
  3. データフレーム (fruits_df)を表示

 

条件に一致する行のみデータ抽出(文字列)

pandas_データ抽出(文字列)

fruits_df1 = fruits_df[fruits_df.フルーツ == 'りんご']
fruits_df1
  1. フルーツが”りんご”と一致する行のみデータ抽出
  2. データフレーム (fruits_df1)を表示

 

条件に一致しない行のみデータ抽出(文字列)

pandas_データ抽出(文字列)

fruits_df1 = fruits_df[fruits_df.フルーツ != 'りんご']
fruits_df1
  1. フルーツが”りんご”以外と一致する行のみデータ抽出
  2. データフレーム (fruits_df1)を表示

 

条件に一致する行のみデータ抽出(一部の文字列)

pandas_データ抽出(文字列)

fruits_df4 = fruits_df[fruits_df['商品コード'].str.contains('C')]
fruits_df4
  1. 商品コードに”C”が含まれている行のみデータ抽出
  2. データフレーム (fruits_df4)を表示

 

複数条件に一致する行のみデータ抽出(文字列)_2種類

pandas_データ抽出(文字列)

fruits_df2 = fruits_df[fruits_df['産地'].isin(['青森','長野'])]
fruits_df2
  1. 産地が”青森”と”長野”に一致する行のみデータ抽出
  2. データフレーム (fruits_df2)を表示

 

複数条件に一致する行のみデータ抽出(文字列)_3種類

pandas_データ抽出(文字列)

fruits_df3 = fruits_df[fruits_df['商品名'].isin(['ふじ','巨峰','甘夏'])]
fruits_df3
  1. 商品名が”ふじ”と”巨峰”と”甘夏”に一致する行のみデータ抽出
  2. データフレーム (fruits_df3)を表示

 

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

pandas_データ抽出(文字列)

fruits_df5 = fruits_df[(fruits_df["フルーツ"] == "りんご") & (fruits_df["産地"] == "青森")]
fruits_df5
  1. フルーツが”りんご”、そして産地が”青森”に一致する行のみデータ抽出
  2. データフレーム (fruits_df5)を表示

 

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

pandas_データ抽出(文字列)

fruits_df6 = fruits_df[(fruits_df["フルーツ"] == "りんご") & (fruits_df['商品名'].str.contains('王'))]
fruits_df6
  1. フルーツが”りんご”、そして商品名に”王”が含まれる行のみデータ抽出
  2. データフレーム (fruits_df6)を表示

 

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

pandasデータ抽出

fruits_df7 = fruits_df[(fruits_df["フルーツ"] == "りんご") | (fruits_df["産地"] == "長野")]
fruits_df7
  1. フルーツが”りんご”、または産地が”長野”に一致する行のみデータ抽出
  2. データフレーム (fruits_df7)を表示

 

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

pandas_データ抽出(文字列)

fruits_df8 = fruits_df[(fruits_df["フルーツ"] == "ぶどう") | (fruits_df['産地'].str.contains('島'))]
fruits_df8
  1. フルーツが”ぶどう”、または産地に”島”が含まれる行のみデータ抽出
  2. データフレーム (fruits_df8)を表示

 

コメントを残す

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