python環境において,pandasデータフレームの列から指定の文字列を含む列を取得する方法について。
(本ページにて紹介しているコードはgithubにて公開しています。)
DataAnalOji.hatena.sample/python_samples/blog_extract_column_contain_specific_character.ipynb at master · Data-Anal-Ojisan/DataAnalOji.hatena.sample
samples for my own blog. Contribute to Data-Anal-Ojisan/DataAnalOji.hatena.sample development by creating an account on GitHub.
サンプルデータの読み込み
サンプルデータとしてboston housingの特徴量を利用しています。
import pandas as pd
from sklearn.datasets import load_boston
# インスタンスの生成
boston = load_boston()
# 特徴量をデータフレームに格納
df = pd.DataFrame(boston.data, columns=boston.feature_names)
# 列名一覧を表示
print('列名一覧:', format(df.columns.values))
# データフレームを表示
display(df)
列名一覧: ['CRIM' 'ZN' 'INDUS' 'CHAS' 'NOX' 'RM' 'AGE' 'DIS' 'RAD' 'TAX' 'PTRATIO'
'B' 'LSTAT']
特定文字列を含む列名を取得
python組み込みのin演算子を用いて,特定の要素(文字列)を含む列名を取得する。
# 対象となる文字列
character = 'N'
# 対象文字列を含む列名を取得
column_inc_specific_char = [column for column in df.columns if character in column]
# 取得した列名の表示
print("取得した列名:", format(column_inc_specific_char))
# 取得した列名のみのデータフレームの表示
display(df[column_inc_specific_char])
取得した列名: ['ZN', 'INDUS', 'NOX']
特例文字列を”含まない”列名の取得
python組み込みのnot in演算子を用いて,特定の要素(文字列)を含まない列名を取得する。
# 対象となる文字列
character = 'N'
# 対象文字列を含まない列名を取得
column_not_inc_specific_char = [column for column in df.columns if character not in column]
# 取得した列名の表示
print("取得した列名:", format(column_not_inc_specific_char))
# 取得した列名のみのデータフレームの表示
display(df[column_not_inc_specific_char])
取得した列名: ['CRIM', 'CHAS', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT']
コメント