- 各設問は、以下の 3 種類のコードを書くというスタイルです。
- Rコード (データフレーム操作)
- Rコード (データベース操作)
- SQLクエリ
- ★の数は難易度を表します。(3 種類のコードから総合的に判定しています。)
データサイエンス実践ドリル
A-901
: 演習問題のサンプル
この問題はデータフレームの結合に関するものです。次の条件を満たすコードを作成してください。
- 各顧客の最新の購入日を取得する
- 結果を顧客IDと最新の購入日を含むデータフレームとして出力する
A-902
: 演習問題のサンプル
注文データを基に、1日の各時間帯 (0時〜23時) の注文数を集計してください。さらに、以下の条件を満たすようにしてください。
- 時間帯ごとの注文数の割合を算出する
- 結果を時間ごとに昇順で並べる
A-903
: 演習問題のサンプル
各商品について、一度購入した後に再度購入した顧客の割合 (リピート率) を計算してください。リピート率の高い順に並べ、以下の条件を満たしてください。
- 購入履歴データを用いる
- 顧客単位でリピートの有無を判定する
A-904
: 演習問題のサンプル
売上データにおいて、各商品の販売数の中央値から大きく外れている異常値 (中央値の3倍以上) を検出してください。さらに、次の条件を満たしてください。
- 異常値を含む商品のIDを取得する
- 検出結果をデータフレームとして出力する
A-905
: 演習問題のサンプル
全購入データを基に、特定の期間 (例: 過去3か月) に初めて購入した新規顧客の割合を計算してください。次の条件を満たしてください。
- 新規顧客の判定基準を最初の購入日とする
- 期間内の総顧客数に対する割合を算出する
データサイエンス100本ノック+α
レシート明細データ(receipt)と顧客データ(customer)を結合し、性別コード(gender_cd)と年代(ageから計算)ごとに売上金額(amount)を合計した売上サマリデータを作成せよ。性別コードは0が男性、1が女性、9が不明を表すものとする。
ただし、項目構成は年代、女性の売上金額、男性の売上金額、性別不明の売上金額の4項目とすること(縦に年代、横に性別のクロス集計)。また、年代は10歳ごとの階級とすること。
レシート明細(receipt)データの売上金額(amount)を顧客ID(customer_id)ごとに合計し、その合計金額の四分位点を求めよ。その上で、顧客ごとの売上金額合計に対して以下の基準でカテゴリ値を作成し、顧客ID、売上金額合計とともに10件表示せよ。カテゴリ値は順に1〜4とする。
最小値以上第1四分位未満 ・・・ 1を付与
第1四分位以上第2四分位未満 ・・・ 2を付与
第2四分位以上第3四分位未満 ・・・ 3を付与
第3四分位以上 ・・・ 4を付与