
はじめに
問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より上じゃない)となります。
ORをANDに書き換える必要があるので、数学のド・モルガンの法則を使います。
ド・モルガンの法則
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のコードの打ち方・ライブラリーについてもっと知りたいと思った方は、以下のブログ記事をご覧ください。
データ分析入門・データサイエンス初心者・初学者向けにデータ分析でよく使うPythonをまとめました。
>>【データ分析初心者】Python構文~if文、format記法とf文字列~
>>【データ分析初心者】Python構文~for文、range関数、zip関数、enumerate関数~
>>【データ分析初心者】Python構文~無名関数lambda式、内包表記、map関数~
>>【データ分析初心者】Pandas~loc[]、iloc[]、スライス、drop()、isin()~
>>【データ分析初心者】Matplotlib、Seabornーscatter、hist、countplot 、barplot
独学でデータ分析をしている方へ
機械学習やデータサイエンス・データ分析を独学で学ぶには、どうしたらよいかをまとめてみましたので、興味がある方はこちらのブログ記事をご覧ください。
