Phân tích giỏ hàng trong Python
Isaiah Hull
Visiting Associate Professor of Finance, BI Norwegian Business School
import pandas as pd
# Tải dữ liệu quà tặng lạ.
gifts = pd.read_csv('datasets/novelty_gifts.csv')
# Xem nhanh dữ liệu với head().
print(gifts.head())
InvoiceNo Description
0 562583 IVORY STRING CURTAIN WITH POLE
1 562583 PINK AND BLACK STRING CURTAIN
2 562583 PSYCHEDELIC TILE HOOK
3 562583 ENAMEL COLANDER CREAM
4 562583 SMALL FOLDING SCISSOR(POINTED EDGE)
# In số giao dịch.
print(len(gifts['InvoiceNo'].unique()))
9709
# In số mặt hàng.
print(len(gifts['Description'].unique()))
3461
Cắt tỉa

Gộp nhóm

# Tải dữ liệu one-hot
onehot = pd.read_csv('datasets/online_retail_onehot.csv')
# Xem trước DataFrame
print(onehot.head(2))
50'S CHRISTMAS GIFT BAG LARGE DOLLY GIRL BEAKER ... ZINC WILLIE WINKIE CANDLE STICK
0 False False False
1 False False True
# Chọn tên cột cho túi và hộp
bag_headers = [i for i in onehot.columns if i.lower().find('bag')>=0]
box_headers = [i for i in onehot.columns if i.lower().find('box')>=0]
# Xác định tiêu đề cột
bags = onehot[bag_headers]
boxes = onehot[box_headers]
print(bags)
50'S CHRISTMAS GIFT BAG LARGE RED SPOT GIFT BAG LARGE
0 False False
1 False False
... ... ...
# Tổng theo cột
bags = (bags.sum(axis=1) > 0.0).values
boxes = (boxes.sum(axis=1) > 0.0).values
print(bags)
[False True False ... False True False]
# Thêm kết quả vào DataFrame
aggregated = pd.DataFrame(np.vstack([bags, boxes]).T, columns = ['bags', 'boxes'])
print(aggregated.head())
bags boxes
0 False False
1 True False
2 False False
3 False False
4 True False
# Tính độ hỗ trợ (support)
print(aggregated.mean())
bags 0.130075
boxes 0.071429
Phân tích giỏ hàng trong Python