【Python】特定の文字で始まる(終わる)カラムを抽出したい【Pandas】

こんな感じのデータフレームから'_x'で終わるカラムを取り出す。 f:id:gushigo:20180711231120p:plain

df = pd.DataFrame([[1,2,3,4]], columns = ['col1_x', 'col2_x', 'col1_y', 'col2_y'])  #私が作りました(^p^)

下記のコマンドにより抽出。

df_extracted = df.loc[:,df.columns.str.endswith('_x')]

f:id:gushigo:20180711231434p:plain

pandas.mergeでsuffixを付けないときによくやるかも。
サフィックスではなくプリフィックスがついているときは下記コマンド。

df_extracted = df.loc[:,df.columns.str.startswith('col1_')]

中身のコマンドは実行すると配列になってる。

df.columns.str.endswith('_x')
Out[1]: array([ True,  True, False, False], dtype=bool)

ちなみにcolumns.strはアクセサという仕組み。