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

filter
毎日Python/こつこつ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