P-066: 商品データ(df_product)の各商品について、利益率が30%となる新たな単価を求めよ。今回は、1円未満を丸めること(四捨五入または偶数への丸めで良い)。そして結果を10件表示させ、利益率がおよそ30%付近であることを確認せよ。ただし、単価(unit_price)と原価(unit_cost)には欠損が生じていることに注意せよ。
偶数への丸めはround()。
単品だったらmath、複数だったらnumpyを使う。
私lambda使っちゃったけど、解答の方が楽。わざわざ使う必要なかったな。
P-067: 商品データ(df_product)の各商品について、利益率が30%となる新たな単価を求めよ。今回は、1円未満を切り上げること。そして結果を10件表示させ、利益率がおよそ30%付近であることを確認せよ。ただし、単価(unit_price)と原価(unit_cost)には欠損が生じていることに注意せよ。
切り上げはceil()
P-068: 商品データ(df_product)の各商品について、消費税率10%の税込み金額を求めよ。1円未満の端数は切り捨てとし、結果を10件表示せよ。ただし、単価(unit_price)には欠損が生じていることに注意せよ。
切り捨てはfloor()
P-069: レシート明細データ(df_receipt)と商品データ(df_product)を結合し、顧客毎に全商品の売上金額合計と、カテゴリ大区分コード(category_major_cd)が"07"(瓶詰缶詰)の売上金額合計を計算の上、両者の比率を求めよ。抽出対象はカテゴリ大区分コード"07"(瓶詰缶詰)の売上実績がある顧客のみとし、結果を10件表示せよ。
道筋を立てるのに四苦八苦・・・
まず2つをマージしてから色々いじろうかと思ってたんだけど、なんかうまくいかなくて、、、
なので一回頭をリセットして「①全顧客ごとの売上金額合計リスト」を作って。
そのあと別に「カテゴリ7を含むproduct_cdのリスト」をレシートデータにぶつけて「カテゴリ7を買った顧客リスト」を作って。
その「カテゴリ7を買った顧客リスト」の「②顧客ごとのカテゴリ7売上金額合計リスト」を作って。
②←①を左結合。(③)
③の2つの売上金額の割合を計算。
とても泥臭い・・・
でも解答例1と似てるかな?
私1行にできてないから泥臭く見えるけど、考え方は同じっぽい。
商品データのカテゴリ7の絞り込みをマージの時に一緒にやってるんだな。
df_product.query('category_major_cd == "07"')
でもaggって今までずっと使ってなかったから見といたほうがよさそう。(今回は別にsumでいける)
有休的には余裕があるけど、5/1-2は働きます。
再来週推し事で平日に休みまくるから・・・
でも周りが休みなのでやることなさそうなので、引き続き100本ノックできるかな。
寝なければ。。。