
- はじめに
- 問1 レシート明細のデータフレーム(df_receipt)から全項目の先頭10件を表示し、どのようなデータを保有しているか目視で確認せよ。
- 問2 レシート明細のデータフレーム(df_receipt)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、10件表示させよ。
- 問3 レシート明細のデータフレーム(df_receipt)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、10件表示させよ。ただし、sales_ymdはsales_dateに項目名を変更しながら抽出すること。
- 問4 レシート明細のデータフレーム(df_receipt)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、以下の条件を満たすデータを抽出せよ。 ・顧客ID(customer_id)が”CS018205000001″
- Pythonのコードやライブラリーについて知りたい場合
- 独学でデータ分析をしている方へ
はじめに
問1~問4のコードの説明を初心者や初学者でもわかるような方法でまとめました。
データサイエンス100本ノックのはじめ方は、以下のブログ記事を参考にしてください。
>>【Google Colabはじめ方】データサイエンス100本ノックーデータサイエンティスト協会
問1 レシート明細のデータフレーム(df_receipt)から全項目の先頭10件を表示し、どのようなデータを保有しているか目視で確認せよ。
全項目の先頭10件を表示し、どのようなデータを保有しているかを確認する問題です。
先頭10件を表示する方法は .head(10) を使います。
df_receipt.head(10)
なお、.head()のデフォルト値は5件表示です。
問2 レシート明細のデータフレーム(df_receipt)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、10件表示させよ。
「(df_receipt)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定」する必要があります。
df_receipt [[“①”, “②”, ・・・]]と書くとdf_receipt の特定の列(column)のみを抽出できます。
左から順に列を指定できるので、①、②の順に特定の列を抽出できます。
また、10件表示する方法は、問1と同じ .head(10) です。
df_receipt[['sales_ymd','customer_id','product_cd','amount']].head(10)
問3 レシート明細のデータフレーム(df_receipt)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、10件表示させよ。ただし、sales_ymdはsales_dateに項目名を変更しながら抽出すること。
「(df_receipt)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、10件表示させよ。」は問2と同じで、 df_receipt [[“①”, “②”, ・・・]]ですね。
また、「sales_ymdはsales_dateに項目名を変更」しながら抽出する必要があります。
そのため、.rename(columns={‘変更するcolumns’: ‘変更後のcolumns’})を使用して、列名を変更する必要があります。
df_receipt[['sales_ymd','customer_id','product_cd','amount']].rename(columns={'sales_ymd':'sales_date'}).head(10)
問4 レシート明細のデータフレーム(df_receipt)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、以下の条件を満たすデータを抽出せよ。 ・顧客ID(customer_id)が”CS018205000001″
「(df_receipt)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定」する方法は、問2と同じで、 df_receipt [[“①”, “②”, ・・・]]ですね。
「顧客ID(customer_id)が”CS018205000001″」の条件を満たすデータの抽出ですが、.query( )を使用します。
一致は、==を使用します。CS018205000001は文字列型(object)なので、引用符で囲む必要がありますので、.query(‘customer_id == “CS018205000001″‘)となります。
df_receipt[['sales_ymd','customer_id','product_cd','amount']].query('customer_id == "CS018205000001"' )
なお、CS018205000001がint型だった場合は、引用符は不要です。
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
独学でデータ分析をしている方へ
機械学習やデータサイエンス・データ分析を独学で学ぶには、どうしたらよいかをまとめてみましたので、興味がある方はこちらのブログ記事をご覧ください。
