데이터 분석 및 데이터 마이닝 [슈퍼마켓 체인] 데이터 분석 케이스

. (1)  오기 팬더 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  # 오름차순 오름차순 = TRUE 
. 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 ( " 판매 " , 오름차순 = 거짓) .head (10 )
 (27)  이 전단 ( " \ N- RES " , RES)
 28  
29  # 2, 인기 상품 
30 RES = data.groupby (= 의해 " 제품 ID " [) " 판매 " ] .sum (). sort_values (오름차순 = FALSE) .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를 [: " 거래 시간 " ] = ([data.loc : pd.to_datetime " 회전율 시간 " ])
 (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