【問9~問11】データサイエンス100本ノック 解説

※アフィリエイト広告を利用しています。

ファイル

はじめに

問9~問11のコードの説明を初心者や初学者でもわかるような方法でまとめました。

データサイエンス100本ノックのはじめ方は、以下のブログ記事を参考にしてください。

>>【Google Colabはじめ方】データサイエンス100本ノックーデータサイエンティスト協会

問9 以下の処理において、出力結果を変えずにORをANDに書き換えよ。 df_store.query(‘not(prefecture_cd == “13” | floor_area > 900)’)

(‘not(prefecture_cd == “13” | floor_area > 900)’)の意味は、prefecture_cdが13じゃない 又はfloor_areaが900より下(直訳は900より上じゃない)となります。

ORANDに書き換える必要があるので、数学のド・モルガンの法則を使います。

ド・モルガンの法則

Not (A or B) = Not(A) & Not(B)

そうすると、(prefecture_cdが13 かつ floor_areaが900以上)とコードを書く必要があるので、(’prefecture_cd != “13” & floor_area <= 900’)となります。

df_store.query('prefecture_cd != "13" & floor_area <= 900')

なお、以下の書き方でも同じような結果になります。

df_store['prefecture_cd'] != 13

上記方法だとbool値で表示されます。これと同じようにもう一つの条件を作成します。

df_store['floor_area'] <= 900

そして両者を合わせて、表示します。

df_store[(df_store['prefecture_cd'] != 13) & (df_store['floor_area'] <= 900)]

問10 店舗データフレーム(df_store)から、店舗コード(store_cd)が”S14″で始まるものだけ全項目抽出し、10件だけ表示せよ。

抽出するには、.query( )を使用します。

また、店舗コード(store_cd)“S14″で始まるものを抽出するので、( )内には、文字列の前方一致(’カラム名.str.startswith(“文字列”)’)を使います。

なお、文字列の中でシングルクォーテーションを使場合はダブルクォーテーションで囲むダブルクォーテーションを使いたい場合はシングルクォーテーションで囲む)というのを忘れないでください。

そして、.query( )文字列を使う場合、第2引数「engine=’python’」を指定しないとエラーがでます!

よって、.query(‘store_cd.str.startswith(“S14”)’,engine=’python’)となります。

これを10件だけ表示なので、.head(10)を使用します。

df_store.query('store_cd.str.startswith("S14")',engine='python').head(10)

問11 顧客データフレーム(df_customer)から顧客ID(customer_id)の末尾が1のものだけ全項目抽出し、10件だけ表示せよ。

抽出するには、.query( )を使用します。

また、顧客ID(customer_id)末尾が1のものだけを抽出するので、( )内には、文字列の後方一致(’カラム名.str.endswith(“文字列”)’)を使います。

なお、文字列の中でシングルクォーテーションを使場合はダブルクォーテーションで囲むダブルクォーテーションを使いたい場合はシングルクォーテーションで囲む)というのを忘れないでください。

そして、.query( )文字列を使う場合、第2引数「engine=’python’」を指定しないとエラーがでます!

よって、.query(‘customer_id.str.endswith(“1”)’, engine=’python’)となります。

これを10件だけ表示なので、.head(10)を使用します。

df_customer.query('customer_id.str.endswith("1")', engine='python').head(10)

Pythonのコードやライブラリーについて知りたい場合

Pythonデータ分析よく使われている言語です。

この機会にPythonコードの打ち方・ライブラリーについてもっと知りたいと思った方は、以下のブログ記事をご覧ください。

独学でデータ分析をしている方へ

機械学習データサイエンスデータ分析独学で学ぶには、どうしたらよいかをまとめてみましたので、興味がある方はこちらのブログ記事をご覧ください。