Nhập dữ liệu từ excel files

Submitted by tinhxleev2 on Wed, 05/12/2021 - 06:38

Tương tự như nhập dữ liệu từ csv files, pandas sử dụng read_excel() để đọc và thiết lập df cho excel file

import pandas as pd

# sheet_name có thể là một list, số thứ tự của sheet hoặc tên sheet, trường hợp này mình muốn lấy sheet thứ 2 nên đưa vào số 1. 

df = pd.read_excel('ten_file', sheet_name=1)

# Bạn cũng có thể load cả số thứ tự của sheet và tên của sheet 

df = pd.read_excel('ten_file', sheet_name=[0, 'ten_sheet']

Xử lỗi và dữ liệu thiếu pandas

Submitted by tinhxleev2 on Tue, 05/11/2021 - 02:41

Xử dụng df.dtypes để kiểm tra kiểu dữ liệu cho từng cột. Nếu như biết được kiểu dữ liệu của một cột nào đó, sử dung dtype để chỉ ra kiểu dữ liệu của cột đó, pandas sẽ suy luận ra các cột khác có cùng kiểu dữ liệu. 

df = pd_read_csv('ten_file.csv', dtype={'cot_biet_kieu_du_lieu':str})

Trường hợp xử dòng mà read_csv không đọc được thì sử dụng error_bad_lineswarn_bad_lines, nếu error_bad_lines=False và warn_bad_lines=True, thì cảnh báo cho từng dòng có lỗi sẽ hiện ra. 

 

Điều chỉnh nhập flat files

Submitted by tinhxleev2 on Mon, 05/10/2021 - 06:42

Trong khá nhiều trường hợp, khi nhập file csv thì mình chỉ cần lấy một phần dữ liệu ở trong đó. 

Ví dụ sau khi kiểm tra số hàng của df lên tới hàng triệu hàng, việc load tất cả sẽ mất thơi gian chạy, trong khi bạn không cần xem qua tất cả các số liệu trong df. 

Bạn có thể lựa chọn cột muốn load, bằng usecols

Đưa một list vào usecols, trong đó list có chứa tên các cột bạn muộn đọc hoặc số thứ tự của các cột đó.

Để kiểm soát số hàng load vào thì sử dụng nrows

Flat files

Submitted by tinhxleev2 on Sun, 05/09/2021 - 11:42

Pandas - phân thích dữ liệu mà chúng ta có thể phân tích, pandas là cấu trúc cụ thể cho dữ liệu hai chiều theo cột cột và dòng.

Một trong các kiểu file pandas hay phân tích đó là flat files, kiểu file này có đặc điểm:

Gợi Ý Khóa Học Dựa Trên Đánh Giá Của Học Viên

Submitted by tinhxleev2 on Thu, 04/29/2021 - 06:39

Giả sử trên một website dạy học trực tuyến cần xây dựng một hệ thống giới thiệu những khóa học đỉnh nhất dựa trên đánh giá của người học, sau khi hoàn thành khóa học, thì công việc của một kỹ sư dữ liệu là thiết lập một pipeline ETL như sau:

ETL_he_thong_goi_y

Đầu tiên mình lấy dữ liệu từ các bảng CSDL SQL 

Phần chuyển đổi dữ liệu

 

Thác Mu, Pù Luông 2 ngày 2 đêm

Submitted by tinhxleev2 on Thu, 04/22/2021 - 14:30

Dịp 30.04 và 01.05 mình có kỳ nghỉ bốn ngày, mình dành 2 ngày để đi chơi điểm gần là Pù Luông và Thác Mu (thác mây thì mình đi rồi, thác Mu chắc sẽ không đẹp bằng nhưng vì mình chưa đi lên muốn thử đến xem ra làm sao). 

Đường đi Pù Luông

Tải dữ liệu trong ETL (Extract, Transform and Load)

Submitted by tinhxleev2 on Tue, 04/20/2021 - 07:42

Sau khi tách và chuyển đổi dữ liệu mình chuyển sang bước cuối cùng trong ETL (Extract, Transform and Load), để dữ liệu sẵn sàng cho phân tích tiếp theo, đó là tải dữ liệu lên một CSLD. Cơ sở dữ liệu trong bước cuối cùng này có hai loại khác biệt nhau, một cho phân tích và một cho các ứng dụng.

Một ví dụ: Tai nghe TWS theo dõi nhịp tim người dùng sau đó lưu vào một file, mình tách dữ liệu từ file đó, làm những chuyển đổi cần thiết sau đó tải lên CSDL thì cơ sở dữ liệu này ở kiểu cho các ứng dụng. 

Chuyển đổi dữ liệu trong ETL (Extract, Transform and Load)

Submitted by tinhxleev2 on Mon, 04/19/2021 - 13:17

Kỹ sư dữ liệu sẽ làm gì trong việc chuyển đổi dữ liệu?

Sau khi đã có pandas dataframe (df_customer) từ việc tách dữ liệu từ các nguồn khác nhau như file, API và Database, kỹ sư dữ liệu sẽ làm

Ví dụ chia một cột ra thanh 2 cột, cột trước @ và cột sau @

chia_email = df_customer.email.str.split("@", expand=True)

Giờ có thể thêm 2 cột vừa tạo vào df_customer

df_customer = df_customer.assign(user=chia_email[0], domain=chia_email[1])

Tách dữ liệu trong ETL (Extract, Transform and Load)

Submitted by tinhxleev2 on Mon, 04/19/2021 - 08:43

Định nghĩa đơn giản tách dữ liệu trong thiết kế dữ liệu đó là tách dữ liệu từ các nguồn không phù hợp để cho xử lý dữ liệu và cho bộ nhớ.

Nguồn dữ liệu có thể từ API, file hoặc database (cơ sở dữ liệu). Từ file không có cấu trúc như file văn bản, hoặc flat file (có các hàng là bản ghi còn cột là thuộc tính)

Thêm một dữ liệu JSON - bán cấu trúc, có các biến hạt nhân number, string, boolean, null và biến kết cấu như array, object.

Dữ liệu JSON

import json

Learing