0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Pandas】犬の人気度・サイズ・価格で抽出するデータを変えてみた no.16

Posted at

見出しを追加 (40).png
こんにちは、まゆみです。

Pandasについての記事をシリーズで書いています。

今回は、第16回目になります

今回の記事では、犬に関するデータを使い、色んな条件つけをしてデータを抽出してみました。

この記事を読めば

  • 2つの条件を同時に満たすデータの取り方
  • 2つの条件のうちどちらかを満たすデータの取り方
  • 3つ以上の条件を使う時の注意事項

が分かります。

ではさっそく始めていきますね。

#今回使わせてもらうデータ

kaggle.comさんのサイトからこちらの犬に関するデータを使います

CSVファイルに入っていますので、read_csv()メソッドを使ってデータを読み込みました。
スクリーンショット 2021-03-21 100706.jpg

読み込んだ結果は上のようになります。

『BreedName』 犬種名

『MaleWtKg』オスの成犬の体重(キログラム)

『AvgPupPrice』子犬の平均価格

『PopularityUS2017』2017年アメリカでの人気度

のコラムのみを取り出して、色んな条件に合う犬種を抽出していきます

スクリーンショット 2021-03-21 102040.jpg

#大型犬のみを取り出す

massive-dog-1.jpg

大型犬の基準は、25キロ以上のようなので、その基準に合うものだけを取り出します。

条件に合ったものの取り出し方は下記のようになっています

DataFrame( DataFrame[コラム名] _= 25.png
※どうして、上記の方法で条件に合ったものが取り出されるかの理由前回の記事で詳しく書いています

スクリーンショット 2021-03-21 113405.jpg

25キロ以上の犬のみのデータが取れました。

#子犬の価格が1000ドル以下の犬のみを取り出す

先ほどと同じ要領で、子犬が1000ドル以下の犬種を取り出しました。

スクリーンショット 2021-03-21 114004.jpg

#子犬が1000ドル以下でかつ、大型犬である犬のデータを取り出す。
オスの成犬が25キロ以上かどうかを調べるには下記のようにコードを書きます

dog_data["MaleWtKg"] >= 25

スクリーンショット 2021-03-21 114436.jpg

同様に、子犬の価格が1000ドル以下を調べるには

dog_data["AvgPupPrice"] <= 1000

で、上記の二つの条件がどちらとも満たされる時なので2つの条件を『&』でつなぎました。
(煩雑になるのを避けるため、それぞれの条件を新しい変数に代入しています)

スクリーンショット 2021-03-21 115720.jpg

子犬の価格が1000ドル以下、成犬の大きさが25キロ以上の犬のみ抽出されました。

#条件に『OR』を使う
条件にORを使う.png

では、次は、2つの条件のうち『どちらかが満たされれば』そのデータをはじき出してくれるORを使ってみます。

OR を表すのは 『|』になります

見出しを追加 (41).png

Afghan Hound は、子犬の価格が1000ドルより高いですが、2017年度の人気度が高いのでAfghan Houndのデータもはじき出されました。

スクリーンショット 2021-03-21 122422.jpg

#3つ以上の条件を使う

大型犬.png

大型犬 かつ 1000ドル以下 でもしくは人気犬種 

とするのか

大型犬 かつ 人気犬種 もしくは1000ドル以下

とするのでは、はじき出されるデータが変わってきます

大型犬 かつ 1000ドル以下 もしくは、 人気犬種を出したい時は

dog_data[(dog_weight & dog_price) | dog_popularity]

2つの条件を満たすデータをPandasに先に調べさせるために、その部分を括弧で囲みます。

体重が25キロ以上でかつ1000ドル以下であるか

もしくは

2017年度に人気が高かった犬

が抽出されました。

スクリーンショット 2021-03-21 130249.jpg

#まとめ

今回の記事はこのあたりで終わりにします

お役に立てれば嬉しいです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?