1 インポートPANDAS AS PD 2 3つの。 #ロードデータ 4。データ= pd.read_csv(" ./order.csv " =コード" ANSI " ) 5。 #プリント( "データ:\ N-"、データ) 6。 印刷(" のデータカラムインデックス:\ N- " 、data.columns) 7。 8。 #の0の存在下で、販売量、または販売<0のデータが 9 #不正なデータの削除 10 #-予約された販売> 0のデータを 11。 bool_index =データ。 LOC [:、" 販売" ]> 0 12は、データ=data.loc [bool_index ,:] 13 14 #1、その商品のカテゴリより人気? 15 #従っIDパケットのカテゴリは、販売統計SUM 16 #sort_valuesは、デフォルトで昇順にソート 。17 #指定されたデータによっては、列でソート 18である #昇順昇順=真 。19 =によるRES = data.groupby(「カテゴリIDは、")" 販売" ] .SUM()。sort_values(昇順=偽).head(10 ) 20 RES = pd.pivot_table( 21は データ= 、データ 22は 、インデックス= " カテゴリID 」、 23は #列= "カテゴリID"、 24の 値= " 売上" 、 25 aggfunc = " SUM " 26がある =による).sort_values(" 販売"、昇順= False)が.head(10 ) 27 印刷(" :\ N- RES " 、 RES) 28 29 #2、品物より人気 30 RES = data.groupby(=によって" 商品ID ")[ " 販売" ] .SUM()。sort_values(昇順=偽).head(10 ) 31は RES = PD .pivot_table( 32 =データデータ、 33は 、インデックス= " 製品ID " 、 34は 値= " 販売" 、 35 aggfunc = " SUM " 36 =によって).sort_values(" 販売"、昇順=偽).head(10 ) 37 [ 印刷(" RES :\ N- "RES) 38である39 #3、異なる店舗の売上高は会計見つける。40 #各製品の売上高を計算するために(1)41がある data.loc [:、" 販売/単一の項目" ] =データ.LOC [:、"単価 " ] * Data.loc [:、" 売上高" ] 42は 43れる #(2)数値ストアをグループ化によると、各アイテムの販売統計の和、及び 44は ALL_ = data.groupby(=による" 店舗ID 」)[ " 販売/単一の項目" ] .SUM() 45 46である 印刷(ALL_) 47 #の割合の計算(3) 48 印刷(" すべての店舗の会計処理は次のとおりです。"、(ALL_ / all_.sum())を適用します。 (ラムダ X-:フォーマット(X-、" 0.2パーセント" ))) 49 50 51 #?スーパーマーケットのピーク旅客流期間である4、 52 #(1)商品は、注文IDの複数に対応するので、人のそれぞれの注文IDは、最初のIDの重複排除でなければならない 53 #のデータ重複排除 54は #再列のサブセットを必要と 55 #インプレース= Trueの場合、元のデータ修正 56 data.drop_duplicates(サブセット= ' 注文ID '、インプレース= 真) 57が 印刷(" 重複排除後のデータ:\ N- " 、データ) 58 59 #(2)属性時間取得 60 [data.locを:、" トランザクション時間" ] = pd.to_datetime(data.loc [:、" 回転時間" ]) 61が 62である [data.loc:、" 時間」] = [I.hour 用 I で data.loc [:、" 回転時間" ] 63は 64 プリント(データ) 65 66 #(3)パケットの時間に応じて、それぞれ順番に時間の数を数える 67の RES =データ。 GROUPBY(=による" 時間")[ " 注文ID "。] .count()sort_values(昇順= 偽) 68 69 プリント(" RES:\ N- " RES) 70 71である #(sort_index)行インデックスのサイズに応じてシーケンス
データ分析&データマイニング[スーパーマーケットチェーン]データ分析事例
おすすめ
転載: www.cnblogs.com/Tree0108/p/12116085.html
おすすめ
ランキング