【毎日Python】Pythonで条件に合う行名や列名で抽出する方法|DataFrame.filter

filter
こつこつPython
import pandas as pd
df = pd.DataFrame({'Python-Flask': [100, 200, 300, 350, 220], 'Python-Django': [150, 250, 350, 270, 410], 'Flask': [400, 450, 500, 370, 420]},
                  index=['Mon', 'Tue', 'Wed', 'Thu', 'Fri'])
df

条件に合う行名や列名でデータを抽出する方法です。
使用するのは、PythonのPandasライブラリのfilterメソッドです。
このようなデータフレームを用意します。

df.filter(items=['Python-Flask', 'Python-Django'])

まず、指定の列名で抽出してみましょう。
itemの引数に列名をリストで指定して実行します。
データを抽出できました。

df.filter(items=['Wed', 'Mon'],axis=0)

引数にaxis=0を渡すと行方向で抽出すると、行名で抽出することができます。
データを抽出できました。

df.filter(like='Python')

次に、列名の一部分が一致する場合で抽出してみましょう。
引数likeに文字列を指定して実行します。
指定の文字列を含む列のデータを抽出できました。

df.filter(like='e', axis=0)

最後に、同じ方法で行方向で抽出してみましょう。
axis=0を追加して実行します。
指定の文字列を含む行のデータを抽出できました。

関連メソッド

【毎日Python】Pandasのデータフレームのインデックスを取得する方法|index属性

【毎日Python】Pythonでデータフレームのカラムを操作する方法|columns属性

【毎日Python】Pythonでデータフレームから条件を指定してデータを抽出する方法|DataFrame.query

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト