1. 程式人生 > >此資料計算得到門店、款號、顏色、尺碼、每週的期末庫存-python版

此資料計算得到門店、款號、顏色、尺碼、每週的期末庫存-python版

1.獲取的資料

2.我們發現日期這一行是字串形式,需要進行轉化

data_lz['date_io'] = pd.to_datetime(data_lz['date_io'])

3.我們要檢視資料中每週的庫存量,所以要把日期換算成周,但是我們發現數據是跨年的,所以我們需要先把年份分來

4.我們對原有資料進行切分

data_lz_2017 = data_lz[(data_lz['date_io'] >= '2017-01-01') & (data_lz['date_io'] <= '2017-12-31')]
data_lz_2017.head(10)

或者

import numpy as np
data_lz_2018 = data_lz[np.logical_and(data_lz['date_io'] >= '2017-09-22',data_lz['date_io'] <= '2017-10-22')].head(20)
data_lz_2018.head(10)

5.切分完之後,將日期轉換成周的形式

#檢視函式是否將日期轉化成了周的形式
#給定一個list
a = []
# data_lz_2017.head(10)
#將日期更改後賦值到list中a
for i in data_lz_2017['date_io']:
   a.append(i.strftime('%W'))
for i in data_lz_2017['date_io']:
    print(i.strftime('%W'))

#首先需要賦值一次,不然會給出A value is trying to be set on 
data_lz_2017_2 = data_lz_2017.copy()
data_lz_2017_2['周次'] = a

 

5.分組排序

#按全部資訊展示
data_lz_2017_2.groupby(['prod_id','color_id','size','store_id','周次']).sum()['quant_io']
#按全部資訊展示
data_lz_2018_2.groupby(['prod_id','color_id','size','store_id','周次']).sum()['quant_io']
#當然可以繼續採用排序的方式