Pandasについての記事をシリーズで書いています
今回は17回目になります
『Pythonは簡単な英文のようにコードを書ける』
とよく言われますが、Pandasの英語そのもののようなメソッドを見つけたので、今日はそのメソッドを集めて記事を書いてみます。
色んなところで活用できるようなメソッドなので、是非最後まで読んで見てくださいね。
ではさっそく始めていきます
.isin() メソッド
このメソッドで使う上で注意点は、例え文字列1つだけを引数として使いたい時も、『リスト型』にしなければいけないということです。
引用元:Pandasドキュメント
前回の記事で使ったのと同じデータを使って実際の使い方を示していきます
read_csv()メソッドで読み込むと上のスクショのような感じになります
コラムGroup1の中に、『Toy』があるかどうかを.isin()メソッドで調べてみます。
isin()メソッドの引数として入れるコラム名は1つだけですが、リスト型にしました。
Group1がToyになっているところがTrueとして返されます。
では、isin()の引数に2つのコラム名を取ってみます
Group1コラムの値が
Toy もしくは Sporting
のrow がTrue として返されました。
.isin()メソッドと ORは同じ
(※2つ以上の条件があってORを使ってデータをはじき出す方法は前回の記事に書いています)
.isin()メソッドは条件を2つ以上使う時のORと同じ結果になりますが、コードを書く量はより少なくて済みます。
.isnull() .notnull() メソッド
.isnull()は欠損値をFalseで返し、.notnull()は欠損値をTrueで返します
Intelligence のコラムにいくつか欠損値がありますので、(NaNとなっているところです。)Intelligence のコラムに.isnull() .notnull()を使って実験します
.isnull() と.notnull()では逆の結果を返してくれます。
.between() メソッド
.between()メソッドでの注意点は、2つの引数の値を含めた範囲が指定されるということです。
例えば.between(2,5)とすると、2~5までの範囲を指定し、2も5も範囲に含みます。
コラムAvgPopPrice(子犬の価格)で500ドルから1000ドルのものの真偽を確かめてみましょう
1000ドルちょうどの、AffenpinscherもTrue として返されました。
引用元:Pandasドキュメント
また、このメソッドは整数だけではなく、小数点(floating number)でも、時間(.to_datetime()でdatetime オブジェクトにしたもの)の範囲でも指定する事ができます
試しに、アメフト選手のデータのなかに、選手の誕生日のデータがあるので
1985年から1990年生まれの選手
のデータをピックアップします
※年月日の比較をPandasで行うには、datetimeオブジェクトに作り替える必要がありますので、分からない方はこちらの記事を参考にどうぞ
この範囲に生まれた選手のデータを表示させますね。
まとめ
今回は、簡単な英作文を作るように使えるPandas のメソッドを紹介しました。
お役に立てれば幸いです。