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

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

ファイル

はじめに

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

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

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

問12 店舗データフレーム(df_store)から横浜市の店舗だけ全項目表示せよ。

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

また、(df_store)から横浜市店舗だけ全項目表示するので、( )内には、特定の文字列を含む要素を持つ行を抽出する、str.contains()を使います。

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

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

df_store.query('address.str.contains("横浜市")', engine='python')

問13 顧客データフレーム(df_customer)から、ステータスコード(status_cd)の先頭がアルファベットのA〜Fで始まるデータを全項目抽出し、10件だけ表示せよ。

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

今回は、(status_cd)先頭アルファベットのA〜Fで始まるデータ全項目抽出します。

それには、Pythonの正規表現である、文字列の先頭を表す^、マッチしたい文字の集合を表す[]範囲指定を使用します。

( )内には、特定の文字列を含む要素を持つ行を抽出する、str.contains()を使います。

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

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

よって、.query(‘status_cd.str.contains(“^[A-F]”)’, engine=’python’)となります。

また、10件だけ表示なので、.head(10)とします。

df_customer.query('status_cd.str.contains("^[A-F]")', engine='python').head(10)

問14 顧客データフレーム(df_customer)から、ステータスコード(status_cd)の末尾が数字の1〜9で終わるデータを全項目抽出し、10件だけ表示せよ。

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

今回は、(status_cd)末尾が数字の1〜9で終わるデータを全項目抽出します。

それには、Pythonの正規表現である、文字列の末尾を表す$(末尾なので後ろにつけます)、角括弧に含まれるいずれか1文字にマッチする[]範囲指定を使用します。

( )内には、特定の文字列を含む要素を持つ行を抽出する、str.contains()を使います。

今回のstatus_cdは、数字で構成されていますが、調べてみると文字列型です。そのため、引用符が必要です。

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

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

よって、.query(‘status_cd.str.contains(“[1-9]$”)’,engine=’python’)となります。

また、10件だけ表示なので、.head(10)とします。

df_customer.query('status_cd.str.contains("[1-9]$")',engine='python').head(10)

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

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

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

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

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