データフレームの条件分岐 (pandas)
pandasでは、if文のように、カラムの値に応じて任意の領域を選択、取り出す事ができます。
import pandas as pd #使うパッケージをimportする from sklearn.datasets import load_iris
iris = load_iris() df = pd.DataFrame(iris.data, columns=iris.feature_names) #データフレームの作成 print(df)
単一の条件式
基本形は、df[df["カラムの名前"]=="条件"] です。
==には、>= 、<=、 !=に変えることができます。
”条件”には、文字列、数値を入れる事ができます。
table=table[table["sepal length (cm)"]==5] #sepal length (cm) が5のみ残す print(df)
この他にも、以下のような条件式をしようすることもできます。
table=table[table["sepal length (cm)"]!=5] #sepal length (cm) が5以外のカラムを残す table=table[table["sepal length (cm)"]>=5] #sepal length (cm) が5以上のカラムのみを残す
複数の条件式 (”かつ”、”または”)
df=df[(df["sepal length (cm)"]==5)&(df["petal length (cm)"]==1.4)] #sepal length (cm)が 5でかつ、petal length (cm)が1.4のみ残す print(df)
df=df[(df["sepal length (cm)"]==5)|(df["petal length (cm)"]==1.4)] #sepal length (cm)が 5または、petal length (cm)が1.4を残す print(df)
条件式は少し複雑ですが、覚えておくととても便利なので、ぜひ使えるようにしましょう!