Linh Nguyễn

Mô tả tập dữ liệu: Dữ liệu của nền tảng thương mại

Mô tả tập dữ liệu:

  • Dữ liệu của nền tảng thương mại điện tử TIKI tại Việt Nam.
  • Dữ liệu chứa thông tin về 2024 quyển sách bán chạy nhất.

Gồm 2 table:

book_data.csv

Column Description
product_id id of the product in the Tiki database (unique)
title name of the book, maybe contain republish time
authors same with it’s name
original_price price at the first time
current_price price at present if having a discount
quantity total number of books sold of all time
category kind of book
n_review number of reviews
avg_rating average rating (max 5.0)
pages total pages of each book

comments.csv

Column Description
product_id same with book_data file
comment_id each comment has individual id
title keywork of comment
thank_count number of like of other people
customer_id each customer has individual id
rating average rating of the comment
content same with it’s name

Dataset: https://www.kaggle.com/datasets/biminhc/tiki-books-dataset

Dự án nhằm làm sạch dataset thô này để có thể sử dụng trong việc phân tích

Trước  khi  làm sạch tập dữ liệu, điêu cần làm khi nhận bất kỳ dataset nào là cần hiểu về dataset đó, vậy bước đầu là DATA PROFILING và sau đó kiểm tra  DATA QUALITY

Quy trình làm sạch dữ liệu

Bước 1:

Đổi tên cột, table (do bigquery kh nhận diện được tên)

Bước 2:

Đổi về đúng định dạng dữ liệu

Bước 3:

Xử lý dữ liệu sai

Bước 4:

Xử lý Null

Bước 5:

Làm sạch giá trị

Bước 6:

Làm giàu dữ liệu

				
					Sau đây là code SQL

Table: Tiki_book

-- Bước 1: Đổi tên collumn
WITH rename_column AS (
  SELECT
        product_id
        , title
        , authors
        , original_price
        , current_price AS discount_price
        , quantity AS sold_quantity
        , category
        , n_review AS count_rivews
        , avg_rating
        , pages AS book_pages
        , manufacturer AS publisher
        , cover_link
  FROM `vit-lam-data.kaggle_tiki_books.book_data`
)
-- BƯỚC 2: Sửa về đúng dạng dữ liệu
-- Có 2 cột chưa đúng định dạng là : pages và avg_rating
,
 cast_data AS (
  SELECT
        * EXCEPT (avg_rating, book_pages)
        , CAST (avg_rating AS NUMERIC) AS avg_rating
        , CAST(NULLIF (book_pages, 'Cuốn') AS INTEGER ) AS book_pages
  FROM rename_column
)
-- BƯỚC 3: Xử lý dữ liệu sai
-- Có 16 quyển sách bị trùng lập
, deduplicate AS (
SELECT
       DISTINCT *
FROM cast_data
)
-- Xóa 45 NaN cột quantity (dữ liệu là sách bestselling mà kh có số lượng bán thì cũng không thể sử dụng được gì nên chọn phương án xóa )
, remove_wrong_data AS(
  SELECT *
  FROM deduplicate
  WHERE sold_quantity IS NOT NULL
)
-- BƯỚC 4: Xử lý Null
-- Xóa dấu '.'
, handle_null AS (
SELECT
       * EXCEPT (authors, avg_rating, publisher)
       , COALESCE(NULLIF (authors, '.'), 'Undefined') AS authors
       , NULLIF(avg_rating, 0 ) AS avg_rating
       , COALESCE (publisher, 'Undefined') AS publisher
FROM remove_wrong_data
)-- BƯỚC 5: Làm sạch giá trị
, clean_value AS (
SELECT
       * EXCEPT (category, publisher)
       , CASE
              WHEN category IN ( SELECT category
                    FROM handle_null
                    GROUP BY 1
                    HAVING COUNT (category) = 1)
              THEN 'Undefined'
              ELSE category
         END
         AS category
         , REPLACE (REPLACE (REPLACE (publisher, 'Nhà Xuất Bản', 'NXB'), 'hong duc', 'NXB Hồng ĐỨc'), 'học', 'Học') AS publisher
FROM handle_null
)
-- BƯỚC 6: Làm giàu dữ liệu
-- Ở đây có thể tạo thêm 1 cột là đánh giá (cao,thấp, trung bình) dựa vào cột rating
, more_data AS (
SELECT
       * EXCEPT (avg_rating)
       , CASE
              WHEN avg_rating BETWEEN 4.1 AND 5.0 THEN 'Cao'
              WHEN avg_rating BETWEEN 2.1 AND 4.0 THEN 'Trung bình'
              WHEN avg_rating BETWEEN1.0AND2.0THEN'Thấp'
              ELSE 'Thấp'
       END AS rating_group
FROM clean_value
)
SELECT *
FROM more_data
ORDER BY product_id
Link: https://console.cloud.google.com/bigquery?ws=!1m5!1m4!4m3!1slinh-hoc-data!2skaggle_cleansed!3stiki_book
 
Table 2: comment
-- BƯỚC 1: Đổi tên cột cho phù hợp
WITH rename_column AS (
SELECT
       customer_id
      , product_id
      , comment_id
      , title AS comment_title
      , content AS comment_content
      , thank_count AS count_thanks
      , rating
FROM `vit-lam-data.kaggle_tiki_books.comments`
)
-- BƯỚC 2: Xử lý dữ liệu sai
-- Dữ liệu bị trùng lập
, deduplicate AS (SELECT
       DISTINCT *
FROM rename_column
)
Link: https://console.cloud.google.com/bigquery?ws=!1m5!1m4!4m3!1slinh-hoc-data!2skaggle_cleansed!3stikti_book_comment

 
 
				
			
Picture of admin

admin

Leave a Replay

About Me

Top 20% of Candidates With The Highest Scores
 
 
  • Identify customer pain points related to digital banking products. Propose significant solutions focusing on innovation, enhancing customer experience throughout the customer journey, and implementing effective marketing campaigns at MBBank.
  • Effectively manage and collaborate with team members to facilitate seamless project execution and ensure alignment with the company’s strategic objectives.
 
Issued by FPT Corporation, FPT Telecom NextGen Leaders · May 2024
 
  • Led and managed key projects focused on innovation, technology advancements, and process improvements within FPT Telecom.
  • Collaborated effectively with diverse teams across departments to facilitate seamless project execution and ensure alignment with corporate strategic objectives.

Recent Posts

Follow Us

Sign up for our Newsletter

Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit