存資料返回他的序列號id 資料清洗 實戰篇

2021-10-11 23:40:05 字數 2080 閱讀 3940

一、資料清洗前的工作:

清洗資料之前,為了讓資料顯示完整,然後選中資訊顯示不全的列,滑鼠右鍵,列寬設定調大。

二、提出問題:

1.哪一種商品銷量最高?

2.哪個月份銷量最好?

3.男嬰用品與女嬰用品哪種銷量好?

4.哪個年齡的嬰兒用品銷量最好?

三、資料清洗步驟:

對「購買商品」「嬰兒資訊」**進行資料清洗

步驟:

1, 選擇子集。無用的資訊可隱藏。原則:多隱藏少刪除

根據以上問題,將列表中購買行為編號,商品序列號商品屬性隱藏。

2,列表重新命名。

為便於資料分析,將表頭的英文全部以中文進行重新命名:

user_id-使用者名稱;auction_id-購買行為編號;cat_id-商品種類序列號;cat-商品序列號;property-商品屬性;buy_mount- 購買數量;day-購買時間。birthday-出生日期,gender-性別(0-男性,1-女性)。

3,刪除重複值。刪除重複值避免重複。資料-刪除重複項。

4,缺失值處理。

選中某列---定位條件(空值)--填寫值,ctrl+enter填充全部缺失值。

經檢查,每一列的資料都相同,所以沒有缺失值。

5,一致化處理

在**中,購買日期不是熟悉的日期格式,需要進行處理。

日期常規格式一般為:「2019/8/27」, 資料-分列-第三步格式選擇日期-ymd,分列位置選擇h列。

同理將嬰兒資訊**中的birthday也進行轉換,變成標準的日期格式。同時使用 datedif 函式計算孩子的年齡

datedif(start_date,end_date,unit)

start_date:為乙個日期,它代表時間段內的第乙個日期或起始日期;

end_date:為乙個日期,它代表時間段內的最後乙個日期或結束日期;

unit:為所需資訊的返回型別。年:「y」,月:「m」,日:「d」

在單元格內輸入公式 =datedif(b2,today(),"y")

四、資料描述性分析

1.哪一種商品銷量最高?

通過排序功能,找出銷量最好的商品種類為50018831

2.哪個月份銷量最好?

插入資料透視表後,建立組,根據「月」進行統計購買數量,發現11月銷量最高。

3.男嬰用品與女嬰用品哪種銷量好?

用vlookup根據使用者身份資訊將2個**進行資料匹配。

vlookup(查詢值,查詢與返回資料所在範圍,要返回資料的列序數,[匹配條件]

=vlookup(a2,sheet2!$a$2:$d$954,4,false)

發現有些資料無法顯示,因為購買數量**與嬰兒用品**的使用者並不完全相同。

此時將性別一列進行公升序排列。插入資料透視表,選中性別與購買數量,0為男嬰,1為女嬰,**中有2,則為錯誤資料不做考慮。男嬰用品銷量更高,幾乎為女嬰的2倍。

4.哪個年齡的嬰兒用品銷量最好?

插入資料透視表,選中年齡與購買數量。發現7歲嬰兒用品銷量最高。5-9歲嬰兒用品是購買量最大的年齡段。

五、結論:

1.商品種類50018831的產品銷量最高。另外,應時刻關注庫存,防止斷貨。

2.11月為銷售高峰期,可在9-10月開始大力進行宣傳營銷,並準備好庫存。

3.男嬰用品銷量更高,幾乎為女嬰的2倍。可根據2:1的比例進行男女嬰兒用品數量進行進貨。

4. 5-9歲嬰兒用品是購買量最大的年齡段。如果剛涉足嬰兒用品領域,資金不充足,不妨從這個階段的用品著手。

iBatis下插入資料返回資料ID的問題

今天讓做ssi整合的東西,遇到了使用 ibatis插入資料返回主鍵的問題。一開始按照自己的想法,在插入資料之後通過當前條資料的其他欄位將這條資料的主鍵查詢出來,結果當然是不滿意。然後在業務層,通過時間生成id,不過也被人家給淘汰掉了。後來才突然想到 ibatis下邊有selectkey元素,不過只是...

Ibatis插入資料返回ID的方法

ibatis插入資料返回id的方法 主要就是利用seelctkey來獲取這個id值,但是oracle和mysql的區別還是很大的 selectkey resultclass long keyproperty id select operation seq.nextval as idfrom desc...

JDBC插入資料返回生成的主鍵ID

使用jdbc插入一條資料,返回自增的主鍵id,具體 如下 connection conn datasource.getconnection preparedstatement insertportst conn.preparestatement sql resultset midresultset ...