Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

NGÂN HÀNG NHÀ NƯỚC VIỆT NAM BỘ GIÁO DỤC VÀ ĐẠO TẠO

TRƯỜNG ĐẠI HỌC NGÂN HÀNG THÀNH PHỐ HỒ CHÍ MINH


KHOA KHOA HỌC DỮ LIỆU TRONH KINH DOANH

ĐỒ ÁN KẾT THÚC HỌC PHẦN


Lập Trình Python Cho Phân Tích Dữ Liệu
ĐỀ TÀI: SỬ DỤNG NGÔN NGỮ LẬP TRÌNH PYTHON PHÂN TÍCH BỘ DỮ
LIỆU VỀ THỜI TIẾT TẠI SEATTLE

Nhóm sinh viên thực hiện:


Lê Thanh Bình - 050610220832
Tạ Hoàng Phương Chi - 050610220844
Đỗ Ngọc Thùy Dương - 050610220113
Ngô Đăng Khoa - 050610220241
Lớp: DAT708_2321_10_L16
Giảng viên: ThS. Trần Doãn Hiếu

TP HỒ CHÍ MINH, ngày 3 tháng 5 năm 2024


BẢNG PHÂN CÔNG CÔNG VIỆC

STT Họ và Tên MSSV Công việc

Làm nội dung Chương I, Chương II,


1 Lê Thanh Bình 050610220832 Chương III Chương IV
Làm mã kịch bản python

2 Tạ Hoàng Phương Chi 050610220844 Làm nội dung Chương III, Chương IV
Làm nội dung Chương II, Chương III,
Chương IV
3 Đỗ Ngọc Thùy Dương 050610220113
Làm mã kịch bản python
Tổng hợp nội dung đồ án
4 Ngô Đăng Khoa 050610220241 Làm nội dung Chương II, Chương III
MỤC LỤC
DANH MỤC HÌNH ẢNH ...............................................................................................I
DANH MỤC BẢNG ...................................................................................................... II
DANH MỤC BIỂU ĐỒ ................................................................................................III
CHƯƠNG I: MỤC TIÊU VÀ PHẠM VI NGHIÊN CỨU ......................................... 1
1.1. Tóm tắt về sự cần thiết của dự báo thời tiết ........................................................ 1
1.2. Mục tiêu của tiểu luận ..........................................................................................1
1.3. Phạm vi nghiên cứu ............................................................................................. 1
CHƯƠNG II: DỮ LIỆU VÀ NỘI DUNG ....................................................................2
2.1. Dataset ..................................................................................................................2
2.1.1. Nguồn gốc của bộ dữ liệu ............................................................................2
2.1.2. Đặc điểm và nội dung của bộ dữ liệu ..........................................................2
CHƯƠNG III: CƠ SỞ LÝ THUYẾT VỀ PYTHON CHO BÀI TOÁN .................. 4
3.1. Tổng quan về Python ........................................................................................... 4
3.1.1. Nguồn gốc của Python ................................................................................ 4
3.1.2. Ưu và nhược điểm: ...................................................................................... 4
3.2. Thư viện NumPy ..................................................................................................5
3.2.1. Ưu điểm và hạn chế: ....................................................................................6
3.3. Thư viện Matplotlib ............................................................................................. 7
3.3.1. Giới thiệu về thư viện Matplotlib ................................................................7
3.3.2.Tạo các loại biểu đồ khác nhau với Pyplot .................................................. 8
3.4.1. Series ..........................................................................................................12
3.4.2. DataFrame ................................................................................................. 12
CHƯƠNG IV: KẾT QUẢ VÀ THẢO LUẬN ........................................................... 13
4.1. Khí hậu và biến đổi khí hậu ở Seattle ................................................................13
4.1.1. Đặc điểm khí hậu .......................................................................................13
4.1.2. Tác động của biến đổi khí hậu đối với thời tiết: ....................................... 14
4.2. Xử lý dữ liệu ...................................................................................................... 14
4.3. Kết quả thực hiện ............................................................................................... 15
4.4.Thảo luận và kết luận ..........................................................................................22
TÀI LIỆU THAM KHẢO ........................................................................................... 23
DANH MỤC HÌNH ẢNH

Hình 2-1. Nguồn gốc của bộ dữ liệu .................................................................................... 2


Hình 3-1. Mối quan hệ giữa ndarray, đối tượng kiểu dữ liệu và kiểu vô hướng mảng .......6
Hình 3-2. Minh họa về biểu đồ Thanh sử dụng thư viện Matplotlib ...................................8
Hình 3-3. Minh họa về biểu đồ Tròn sử dụng thư viện Matplotlib ..................................... 9
Hình 3-4. Minh họa về biểu đồ Histogram sử dụng thư viện Matplotlib .......................... 10
Hình 3-5. Minh họa về sơ đồ phân tán sử dụng thư viện Matplotlib .................................11
Hình 4-1. Hình ảnh tại Seattle ............................................................................................ 13
Hình 4-2. Xử lý dữ liệu .......................................................................................................14

I
DANH MỤC BẢNG

Bảng 4-1. Bảng tỷ lệ xuất hiện của từng loại thời tiết ở Seattle .............................................. 15
Bảng 4-2. Bảng lượng mưa trung bình theo từng loại điều kiện thời tiết ............................... 16
Bảng 4-3. Bảng tốc độ gió trung bình theo từng điều kiện thời tiết ........................................ 17
Bảng 4-4. Bảng nhiệt độ tối thiểu trung bình theo từng điều kiện thời tiết .............................19
Bảng 4-5. Bảng nhiệt độ trung bình tối đa theo từng điều kiện thời tiết ................................20

II
DANH MỤC BIỂU ĐỒ

Biểu đồ 4- 1. Biểu đồ tỷ lệ xuất hiện của từng loại thời tiết ở Seattle .................................... 15
Biểu đồ 4- 2. Biểu đồ lượng trung bình theo từng điều kiện thời tiết ..................................... 16
Biểu đồ 4- 3. Biểu đồ tốc độ gió trung bình theo từng điều kiện thời tiết .............................. 18
Biểu đồ 4- 4. Biểu đồ trung bình nhiệt độ tối thiểu theo từng điều kiện thời tiết ................... 19
Biểu đồ 4- 5. Biểu đồ trung bình nhiệt độ tối đa theo từng điều kiện thời tiết ....................... 21

III
CHƯƠNG I: MỤC TIÊU VÀ PHẠM VI NGHIÊN CỨU

1.1. Tóm tắt về sự cần thiết của dự báo thời tiết


Có thể nói rằng, thông tin về thời tiết là một trong những thông tin quan trọng đối với con
người. Nhờ có thông tin về dự báo thời tiết mà con người có thể biết được hôm nay, ngày mai và
những ngày tiếp theo thời tiết sẽ như thế nào. Thông tin thời tiết rất cần thiết cho mọi người nhằm
lập kế hoạch lao động, sản xuất, du lịch và tham gia các hoạt động ngoài trời. Đơn giản nhất là để
trả lời câu hoi: Hôm nay sẽ mặc gì, mang theo ô hay không của mỗi người sau mỗi sáng thức dậy.
Trước đây, vì máy móc chưa hiện đại mà con người chỉ có thể đưa ra các dự đoán ngắn hạn.
Độ chính xác chỉ rơi vào khoảng 50 - 60%. Tuy nhiên ngày nay, nhờ vào các thiết bị tiên tiến được
đưa vào bầu khí quyển mà việc dự đoán trở nên chính xác hơn và dài ngày hơn, giúp giảm thiểu
thiệt hại cũng như tăng cường khả năng sẵn sàng ứng phó với thiên tai và khí hậu cực đoan.

1.2. Mục tiêu của tiểu luận


Phân tích các yếu tố ảnh hưởng đến thời tiết trong khu vực cụ thể bao gồm điều kiện địa hình,
địa lý, khí hậu, và sự biến đổi khí hậu cũng như nắm vững các khái niệm về các biến thời tiết cơ bản
như nhiệt độ, tốc độ gió, và lượng mưa. Qua đó cung cấp cái nhìn tổng quan và chi tiết về thời tiết
trong khu vực đó, từ đó giúp cải thiện sự hiểu biết và chuẩn bị cho các tình huống thời tiết đặc biệt.

1.3. Phạm vi nghiên cứu


Phạm vi của bài luận này là dự báo thời tiết tại Seattle - Washington trong khoảng thời gian cụ thể.

1
CHƯƠNG II: DỮ LIỆU VÀ NỘI DUNG

2.1. Dataset
2.1.1. Nguồn gốc của bộ dữ liệu
https://www.kaggle.com/datasets/ananthr1/weather-prediction?resource=download

Hình 2-1.Nguồn gốc của bộ dữ liệu

2.1.2. Đặc điểm và nội dung của bộ dữ liệu


Dữ liệu trong dự án được thống kê từ đầu năm 2012 đến cuối năm 2015 và được trích xuất từ trang
thông tin Kaggle Tutorial.
Dữ liệu này gồm 6 cột với tổng số 1461 hàng. Có 6 biến trong bộ dữ liệu này, gồm:
 4 biến liên tục
 1 Biến để chứa Ngày.
 1 Biến đề cập đến Thời tiết.
Trong đó, bao gồm các biến đo lường (metrics):
 Lượng mưa (precipitation): Theo đúng ý nghĩa khí tượng học, "precipitation" không phải chỉ
là "lượng mưa", mà chỉ chung tất cả lượng nước ngưng đọng từ hơi nước trong bầu không khí,
do mưa, mưa phùn, sương giá, mưa tuyết, tuyết, mưa đá, v.v. Trong điều kiện khí tượng của
Việt Nam thì đa số lượng "precipitation" là lượng mưa, nên nhiều từ điển cứ ghi
"precipitation" có nghĩa là "lượng mưa". Theo đúng nghĩa khoa học chính xác thì
"precipitation" nên được gọi là "lượng giáng thủy".)
 Nhiệt độ tối đa (temp_max): Nhiệt độ cao nhất mà một vùng đất hoặc một khu vực cụ thể có
thể đạt được trong một khoảng thời gian nhất định, thường là trong một ngày hoặc một chu kỳ
nhiệt độ cụ thể.
2
 Nhiệt độ tối thiểu (temp_min): nhiệt độ thấp nhất mà một vùng đất hoặc một khu vực cụ thể có
thể đạt được
 Tốc độ gió (wind): Là một thành phần cơ bản trong khí quyển lượng do không khí di chuyển
từ khu vực áp suất cao cao đến áp suất thấp, thường là do sự thay đổi về nhiệt độ. Lưu ý rằng
hướng gió thường gần như song song với các đường đồng mức (và không vuông góc, như
người ta có thể mong đợi), do sự tự quay của Trái Đất.
 Thời tiết (weather): Là tập hợp các trạng thái của các yếu tố khí tượng xảy ra trong khí quyển
ở một thời điểm, một khoảng thời gian nhất định như nắng hay mưa, nóng hay lạnh, ẩm thấp
hay khô ráo.
Và các biến phân loại (dimensions):
 Mưa phùn (drizzle): Là một hiện tượng ngưng tụ nước thành những hạt nho hơn giọt mưa -
đường kính nói chung nho hơn 0.5mm. Mưa phùn thường được tạo ra bởi những đám mây
thấp. Lượng mưa đo được từ mưa phùn vào khoảng 1mm mỗi ngày hoặc ít hơn. Do kích thước
nho của giọt mưa phùn, dưới nhiều hoàn cảnh mưa phùn phần lớn bị bốc hơi trước khi chạm
tới mặt đất và do đó có thể không thể quan sát trên mặt đất để phát hiện.
 Mưa (rain):Là một hiện tượng tự nhiên, xảy ra do sự ngưng tụ của hơi nước trên bầu trời,
dưới dạng những đám mây, khi gặp điều kiện lạnh, tạo thành giọt nước, nặng hơn không khí,
và rơi xuống mặt đất, tạo thành cơn mưa. Khi có quá nhiều giọt nước hình thành ở mây, lâu
ngày các đám mây càng nặng (do những giọt nước quá nhiều) sẽ rơi xuống tạo thành mưa.
 Nắng (sun): Là bức xạ điện từ phát ra từ Mặt Trời, đặc biệt là ánh sáng hồng ngoại, khả kiến
và tia cực tím.
 Tuyết (snow): Bao gồm các tinh thể băng riêng lẻ phát triển trong khi lơ lửng trên bầu khí
quyển, thường ở các đám mây và sau đó rơi xuống, tích tụ trên mặt đất nơi chúng trải qua
những thay đổi tiếp theo. Nó bao gồm nước tinh thể đông lạnh trong suốt vòng đời của nó.
Vòng đời này bắt đầu khi trong điều kiện thích hợp, các tinh thể băng hình thành trong khí
quyển, tăng kích thước lên cỡ milimet, kết tủa và tích tụ trên bề mặt, sau đó biến hình tại chỗ,
và cuối cùng tan chảy, trượt đi hoặc thăng hoa.
 Sương mù (fog): Là một thể aerosol bao gồm các hạt nước siêu nho hoặc các tinh thể băng
được nén chặt trong không khí tại hoặc gần mặt đất. Sương mù có thể được xem là một dạng
mây bay thấp, thường có hình dáng của địa tầng, và chịu tác động bởi các vùng nước, điều
kiện địa hình và gió trong khu vực xung quanh. Sương mù xuất hiện khi hơi nước bắt đầu
ngưng tụ. Trong quá trình này, các phân tử hơi nước kết hợp với nhau để tại thành các hạt
nước nho trong không khí.

3
CHƯƠNG III: CƠ SỞ LÝ THUYẾT VỀ PYTHON CHO BÀI TOÁN

3.1. Tổng quan về Python


3.1.1. Nguồn gốc của Python
Python là một ngôn ngữ lập trình phổ biến được phát minh bởi Guido van Rossum và được giới
thiệu lần đầu vào năm 1991.
Python được ứng dụng ở trong nhiều lĩnh vực khác nhau như:
Lập trình web
Ứng dụng desktop, đồ họa, game
Lập trình cho điện thoại
Đặc biệt hiệu quả trong lập trình tính toán khoa học

3.1.2. Ưu và nhược điểm:


3.1.2.1. Ưu điểm:
 Thân thiện với người mới bắt đầu. Với cú pháp đơn giản, mã dễ đọc dễ hiểu, có thể sử dụng cho
nhiều ứng dụng.
 Là một ngôn ngữ đa mục đích và đa mô hình. Với các framework như Django và Flask, Python
cho phép phát triển ứng dụng web, GUI trên máy tính, trò chơi, cũng như các ứng dụng bảo mật
và khoa học dữ liệu; Python hỗ trợ nhiều phong cách lập trình, bao gồm lập trình hướng đối
tượng, hàm và có cấu trúc.
 Sở hữu các Thư viện, Framework và công cụ phong phú. Thư viện chuẩn và thư viện bổ sung
của Python bao gồm nhiều mô-đun tích hợp sẵn, đáp ứng nhu cầu đa dạng của người dùng
(TensorFlow, PyTorch, NumPy và Pandas). Python cung cấp một loạt các framework và công
cụ hỗ trợ cho lập trình viên. Django là framework web full-stack phổ biến nhất, trong khi Flask,
Pyramid, Bottle và FastAPI là các microframework phù hợp cho các yêu cầu cụ thể. Python
cũng có các framework client web và hệ thống quản lý nội dung để mở rộng khả năng phát triển.
 Thuận lợi cho tính di động. Python hỗ trợ tất cả các hệ điều hành (macOS, Linux, UNIX và
Windows) và các nhà phát triển chỉ cần viết mã một lần và sau đó, nó sẽ sẵn sàng chạy ở mọi
nơi.
 Mọi người có thể tự do sử dụng và phân phối. Vì Python được phát triển theo giấy phép nguồn
mở được OSI phê duyệt.

4
3.1.2.2. Nhược điểm:
 Tốc độ thực thi thấp. Vì Python là một ngôn ngữ thông dịch, không được biên dịch thành mã
máy trước khi thực thi, gây khó khăn khi xử lý dữ liệu lớn hoặc tính toán phức tạp.
 Có độ bảo mật thấp. Do Python là ngôn ngữ gõ động, các dữ liệu được xác định trong quá trình
chạy chương trình, không phải trong quá trình biên dịch. Điều này có thể tạo ra lỗ hổng bảo mật
như tràn bộ đệm hoặc tấn công tiêm nhiễm.
 Không bao gồm các thuộc tính như: public, protected, private không có vòng lặp do…while và
switch….case.

3.2. Thư viện NumPy


 NumPy hay còn gọi là Numeric Python là một thư viện toán học rất phổ biến và mạnh mẽ của
Python. NumPy được trang bị các hàm số đã được tối ưu hóa, cho phép làm việc hiệu quả với
ma trận và mảng, đặc biệt là các ma trận có mảng lớn với tốc độ xử lý nhanh hơn nhiều lần khi
chỉ dùng Python đơn thuần.
 NumPy được thiết kế bởi Jim Hugunin. Có một vài tính năng đã được phát triển trong phiên bản
đầu tiên của Numarray. Bằng cách sử dụng các chức năng của Numarray và gói Numeric,
Travis Oliphant đã tạo ra gói NumPy vào năm 2005
 Trong NumPy, đối tượng quan trọng nhất được gọi là kiểu mảng N chiều (ndarray). Nó mô tả
bộ sưu tập các sản phẩm thuộc cùng một loại. Các mục trong bộ sưu tập có thể được truy cập
bằng cách sử dụng chỉ mục dựa trên số 0.
 Mọi mục trong ndarray đều có cùng một kích thước khối trong bộ nhớ. Mỗi phần tử trong
ndarray là một đối tượng của đối tượng kiểu dữ liệu (gọi là dtype).
 Bất kỳ mục nào được trích xuất từ đối tượng ndarray (bằng phương pháp cắt) sẽ được hiển thị
bằng đối tượng Python thuộc một trong các kiểu vô hướng mảng. Mối quan hệ giữa ndarray, đối
tượng kiểu dữ liệu (dtype) và kiểu vô hướng mảng được trình bày trong biểu đồ sau đây:

5
Hình 3-1.Mối quan hệ giữa ndarray, đối tượng kiểu dữ liệu và kiểu vô hướng mảng

3.2.1. Ưu điểm và hạn chế:


Ưu điểm:
 Hiệu suất cao: Numpy được tối ưu hóa để xử lý các mảng dữ liệu lớn. Nó có thể chạy nhanh
hơn nhiều so với các phương pháp xử lý dữ liệu thông thường trong Python.
 Tính linh hoạt: Numpy cung cấp một bộ các hàm toán học và thống kê mạnh mẽ. Nó cho phép
bạn thực hiện các phép toán phức tạp trên dữ liệu một cách dễ dàng.
 Tính dễ sử dụng: Numpy có API đơn giản và dễ học. Nó có thể được sử dụng bởi các lập trình
viên ở mọi cấp độ kinh nghiệm.
Một số hạn chế của NumPy
 Đối với người mới học lập trình hoặc Python, việc sử dụng NumPy có thể đòi hoi một thời gian
để nắm vững cú pháp và các chức năng của thư viện này.
 Trong một số ứng dụng như web development, NumPy có thể không cần thiết và không hiệu
quả so với các thư viện khác hoặc khi sử dụng ngôn ngữ lập trình khác.
 Các mảng dữ liệu trong NumPy có thể tốn nhiều bộ nhớ hơn so với các danh sách thông thường
trong Python. Điều này có thể là một vấn đề đối với các ứng dụng yêu cầu tiết kiệm bộ nhớ.
 Tính năng broadcasting có thể dẫn đến kết quả không mong muốn nếu không sử dụng đúng cách,
đặc biệt đối với người mới học sử dụng NumPy.

6
3.3. Thư viện Matplotlib
3.3.1. Giới thiệu về thư viện Matplotlib
 Matplotlib là một thư viện trong Python được sử dụng rộng rãi để tạo ra các biểu đồ và đồ thị
chất lượng cao.
 Nó cung cấp các công cụ mạnh mẽ để hiển thị dữ liệu dưới dạng biểu đồ 2D và 3D(5), phù hợp
cho nhiều loại dữ liệu và mục đích khác nhau.
 Tính Năng Đa Dạng Biểu Đồ của Matplotlib rất phong phú, bao gồm các loại biểu đồ như
đường, cột, hộp, scatter, vùng, bánh, và nhiều loại khác.
 Matplotlib cho phép bạn tuỳ chỉnh linh hoạt mọi phần tử của biểu đồ, từ màu sắc, kích thước
cho đến tiêu đề và nhãn trục, giúp tạo ra những biểu đồ đẹp mắt và dễ đọc.
 Với Matplotlib, bạn có thể tương tác trực tiếp với biểu đồ, thay đổi dữ liệu hiển thị, phóng to thu
nho và lưu trữ biểu đồ dưới nhiều định dạng hình ảnh khác nhau, giúp sử dụng biểu đồ một cách
nhanh chóng và linh hoạt.
 Matplotlib hỗ trợ đa nền tảng, hoạt động trên nhiều hệ điều hành khác nhau như Windows,
macOS và Linux, cung cấp sự tiện ích cho người dùng.
 Với tích hợp chặt chẽ cùng Python, Matplotlib là một công cụ hữu ích trong hệ sinh thái Python,
phối hợp tốt với các thư viện và công cụ khác như Numpy, Pandas và Jupyter Notebook, tạo nên
một môi trường lập trình mạnh mẽ để phân tích dữ liệu và học máy.
Một số ưu điểm:
 Matplotlib giúp dễ dàng truy cập và hiểu lượng lớn dữ liệu thông qua các sơ đồ chính xác, giúp
nhìn thấy mẫu và xu hướng trong dữ liệu một cách trực quan.
 Matplotlib linh hoạt với khả năng tạo các biểu đồ thanh, biểu đồ phân tán và nhiều loại trực
quan hóa khác, đáp ứng mọi nhu cầu người dùng..
 Cung cấp hình ảnh chất lượng cao ở nhiều định dạng như PDF, PGF và PNG.
 Vì là nền tảng nguồn mở nên được sử dụng miễn phí.
 Có thể chạy trên nhiều nền tảng khác nhau như Windows, Mac OS hay Linux.
 Tương thích tốt với các thư viện và công cụ Python khác như NumPy, Pandas, và Jupyter
Notebook, tạo ra một môi trường mạnh mẽ cho phân tích dữ liệu và học máy.
Một số hạn chế:
 Cú pháp phức tạp, gây khó khăn cho người mới học.
 Các sơ đồ có thể kém hấp dẫn về mặt trực quan so với thư viện khác (Tableau, Power BI)
 Với các tập dữ liệu lớn, hiệu suất của Matplotlib không cao
 Các mã tạo biểu đồ có thể dài dòng
7
3.3.2.Tạo các loại biểu đồ khác nhau với Pyplot
Biểu đồ thanh
Biểu đồ thanh là một trong những loại biểu đồ phổ biến nhất và được sử dụng để hiển thị dữ
liệu được liên kết với các biến phân loại. Pyplot cung cấp một phương thức bar() để tạo các biểu đồ
thanh có các đối số: biến phân loại, giá trị và màu sắc của chúng (nếu bạn muốn chỉ định bất kỳ)

Hình 3-2.Minh họa về biểu đồ Thanh sử dụng thư viện Matplotlib

8
Biểu đồ tròn

Biểu đồ Pie có thể được tạo bằng phương thức pie() Chúng ta cũng có thể chuyển các đối số
để tùy chỉnh biểu đồ Pie của mình để hiển thị shadow, explode một phần của nó, nghiêng nó theo
một góc như sau:

Hình 3-3.Minh họa về biểu đồ Tròn sử dụng thư viện Matplotlib

9
Histogram
 Biểu đồ Histogram là một biểu đồ cột sử dụng để biểu diễn phân phối tần suất của một tập dữ
liệu liên tục. Thông qua biểu đồ này, chúng ta có thể dễ dàng nhận ra xu hướng phân phối, biên
độ, độ tập trung của dữ liệu và sự phân tán của chúng.
 Biểu đồ Histogram được xây dựng trên các thông tin cơ bản:
─ Số lượng quan sát (tần suất): Đếm số lượng lần xuất hiện của mỗi giá trị hoặc khoảng giá trị
trong tập dữ liệu.
─ Giá trị của dữ liệu: Xác định giá trị của từng quan sát hoặc giá trị giới hạn trong khoảng dữ
liệu.
─ Khoảng dữ liệu (bins): Chia tập dữ liệu thành các khoảng phân loại và đếm số lượng quan
sát rơi vào mỗi khoảng.
 Các thành phần trong dữ liệu Histogram:
─ Trục hoành: Biểu thị các giá trị đo
─ Trục tung: Biểu thị số lần xuất hiện của dữ liệu.
─ Bề rộng của mỗi cột: Bằng khoảng phân lớp
─ Chiều cao của cột: Tương ứng với tần suất của mỗi giá trị

Hình 3-4.Minh họa về biểu đồ Histogram sử dụng thư viện Matplotlib

10
Sơ đồ phân tán và 3 chiều
Biểu đồ phân tán là các biểu đồ được sử dụng rộng rãi, đặc biệt là chúng có ích trong việc hình
dung một vấn đề về hồi quy. Trong ví dụ sau, cung cấp dữ liệu được tạo tùy ý về chiều cao và cân
nặng và vẽ chúng với nhau. Mình đã sử dụng các phương thức xlim() và ylim() để đặt giới hạn của
trục X và trục Y tương ứng:

Hình 3-5.Minh họa về sơ đồ phân tán sử dụng thư viện Matplotlib

3.4. Thư viện Pandas


 Pandas là một thư viện mã nguồn mở được xây dựng dựa trên NumPy, sử dụng thao tác và phân
tích dữ liệu, được phát triển bởi Wes McKinney vào năm 2008, Pandas được thiết kế để cho
phép bạn làm việc với dữ liệu được gắn nhãn hoặc quan hệ theo cách trực quan hơn.
 Có thể xử lý tập dữ liệu khác nhau về định dạng: chuỗi thời gian, bảng không đồng nhất, ma
trận dữ liệu.
 Khả năng import dữ liệu từ nhiều nguồn khác nhau như CSV, DB/SQL.
 Tích hợp tốt với các thư viện khác của python
 Cung cấp hiệu suất tốt
 Pandas có ba cấu trúc dữ liệu và nó được xây dựng dựa trên thư viện Numpy vậy nên chúng
hoạt động rất nhanh và hiệu quả: Series, DataFrame, Panel. Trong đó Panel là mảng 3 chiều.

11
Panel thì không được sử dụng rãi như như Series hay DataFrame và nó cũng không dễ hiển thị
hay trừu tượng hoá như màn một chiều và hai chiều
Một số hạn chế:
 Tốn bộ nhớ, việc tải và thao tác một lượng lớn dữ liệu có thể tiêu tốn nhiều tài nguyên bộ nhớ.
 Khả năng xử lý dữ liệu chậm hơn so với các dữ liệu cấp thấp hơn như Numpy.
 Gây khó khăn cho người mới học bởi bộ chức năng và tính năng phong phú.
 Phụ thuộc vào các thư viện bên ngoài như Numpy, Matplotlib và SciPy.
 Khó khăn khi xử lý dữ liệu có cấu trúc khác dạng bảng.

3.4.1. Series
Series là mảng một chiều giống như mảng Numpy, hay như một cột của một bảng, nhưng nó
bao gồm thêm một bảng đánh label. Series có thể được khởi tạo thông qua NumPy, kiểu Dict hoặc
các dữ liệu vô hướng bình thường
Series có thể được tạo bằng cách sử dụng hàm tạo sau pandas.Series (data, index, dtype, copy)

3.4.2. DataFrame
Một Data frame là một cấu trúc dữ liệu 2 chiều, dữ liệu được sắp xếp theo kiểu bảng trong các
hàng và cột có các đặc trưng sau:
Các cột dữ liệu là các kiểu không đồng nhất: float64, int, bool, …
Kích thước table có thể thay đổi: các cột có thể thêm hoặc xoá đi
Các trục được dán nhãn (hàng và cột)
Có thể thực hiện các phép toán số học trên các hàng và cột
Một DataFrame có thể được tạo bằng cách sử dụng hàm tạo sau pandas.DataFrame( data,
index, columns, dtype, copy)

12
CHƯƠNG IV: KẾT QUẢ VÀ THẢO LUẬN

4.1. Khí hậu và biến đổi khí hậu ở Seattle


4.1.1. Đặc điểm khí hậu
Thành phố Seattle nằm trong vành đai khí hậu ôn đới hải dương, có 4 mùa: xuân, hạ, thu
đông. Mưa ở đây hầu như quanh năm, nhưng thực tế Seattle có lượng mưa lớn vào mùa thu và đông
(đôi khi vào mùa xuân), mùa hạ thường ấm và khô. Tháng có nhiệt độ cao nhất sẽ rơi vào tháng 8
(trung bình khoảng 73 độ F); Tháng lạnh nhất là tháng 1 (trung bình 45 độ F); Tháng ẩm ướt nhất:
Tháng 12 (trung bình 5,43 inch). Seattle nhìn chung không có nhiều thời tiết khắc nghiệt
Chế độ nhiệt độ của thành phố có sự thay đổi nho theo mùa do vị trí gần biển, tức là thành
phố sẽ ôn hòa hơn các khu vực trong đất liền vào mùa đông và mát hơn vào mùa hè. Lý do là vì
Seattle là một thành phố cảng biển, nằm trên một dải đất giữa Vịnh Puget (một nhánh nho của Thái
Bình Dương) và hồ Washington, biển và hồ đóng vai trò điều tiết nhiệt độ. Nhiệt độ trung bình một
năm thường nằm trong khoảng 21 °F (−6 °C) đến 94 °F (34 °C).
Seattle thường xuyên có mưa, lượng mưa trung bình một năm ít nhất 0,01 inch (0,25 mm) rơi
vào 150 ngày. Mưa nho rơi vào giữa tháng 10 đến tháng 5 và nho dần rồi thưa thớt hơn từ tháng 6
đến tháng 9 – đây là thời điểm có lượng mưa ít nhất trong năm. Mùa đông là mùa ẩm ướt nhất, vào
tháng 11 đến tháng 1, lượng mưa trung bình từ 5,78 inch (147mm) đến 6,31 inch (160mm), càng về
mùa xuân, lượng mưa càng ít.

Hình 4-1.Hình ảnh tại Seattle

13
4.1.2. Tác động của biến đổi khí hậu đối với thời tiết:
Biến đổi khí hậu (Climate Change) là sự thay đổi về nhiệt độ và các mô hình thời tiết trung
bình trên một khoảng thời gian dài. Biến đổi khí hậu có thể do nguyên nhân tự nhiên hoặc do con
người gây ra. Nguyên nhân chính của biến đổi khí hậu hiện nay là do sự gia tăng nồng độ khí nhà
kính trong bầu khí quyển do hoạt động của con người như việc thải khí nhà kính (CO2, metan, và
các khí khác) vào bầu khí quyển do đốt cháy nhiên liệu hóa thạch, nông nghiệp và phá rừng,...
Biến đổi khí hậu dẫn đến tăng cường các biến đổi thời tiết cực đoan. Sự nóng lên toàn cầu
làm nhiệt độ tăng cao và thay đổi lượng mưa trung bình. Ở Seattle, mùa hè sẽ trở nên nóng hơn và
mùa đông sẽ ngày càng lạnh hơn.
Áp suất cao khổng lồ sẽ hình thành một lá chắn trên không, khiến không khí nóng không thể
thoát ra ngoài và tiếp tục bị nén xuống làm nhiệt độ càng tăng cao, gọi là vòm nhiệt. Ảnh hưởng của
vòm nhiệt khiến mùa hè ở đây ngày càng trở nên khắc nghiệt do nắng nóng kéo dài.
Biến đổi khí hậu đang làm tăng khả năng xảy ra mưa hoặc tuyết rơi cực lớn vì độ ẩm không
khí lớn hơn bình thường. Bên cạnh độ ẩm cao, nhiệt độ không khí đang dần ấm hơn và nhiệt độ bề
mặt đại dương ấm hơn, khiến cho tốc độ bốc hơi nước được thúc đẩy diễn ra nhanh chóng, trở thành
lý do để sinh ra nhiều cơn bão hơn. Gió và bão là hai hiện tượng thời tiết cực đoan có thể xảy ra, gió
mạnh có thể xuất hiện bất cứ lúc nào hoặc kèm theo bão như cuồng phong, lốc xoáy, giông bão.

4.2. Xử lý dữ liệu
Giá trị null thường xuất hiện khi không có dữ liệu nào được ghi lại hoặc không có giá trị nào được
ghi lại cho một cột cụ thể.
Trong trường hợp này, kết quả cho thấy không có giá trị null trong bất kỳ cột nào của bảng dữ liệu.
Điều này ngụ ý rằng mọi cột đều có dữ liệu và không có dữ liệu nào bị thiếu.

Hình 4-2. Xử lý dữ liệu


14
4.3. Kết quả thực hiện
Tỷ lệ xuất hiện của từng loại thời tiết ở Seattle

Thời tiết Số lượng Tỷ lệ xuất hiện


Rain 641 43.874%
Sun 640 43.806%
Fog 101 6.913%
Drizzle 53 3.628%
Snow 26 1.780%
Bảng 4-1. Bảng tỷ lệ xuất hiện của từng loại thời tiết ở Seattle

Biểu đồ 4- 1. Biểu đồ tỷ lệ xuất hiện của từng loại thời tiết ở Seattle
Biểu đồ tỷ lệ xuất hiện của từng loại thời tiết ở Seattle trình bày phân phối tỷ lệ các loại thời tiết tại
Seattle. Từ biểu đồ trên, chúng ta có thể nhận thấy được sự phổ biến của mỗi loại thời tiết và hiểu rõ
hơn về tần suất(2) xuất hiện của chúng trong dữ liệu.
Tần suất xuất hiện của từng loại thời tiết:

15
 Sun (Nắng) và Rain (Mưa) chiếm tỉ lệ cao nhất và xuất hiện thường xuyên trong số các loại
thời tiết với lần lượt là 43,80% và 43,9%.
 Trong khi đó, Fog (Sương mù) là loại thời tiết tiếp theo về tần suất xuất hiện (6,9%), nhưng tỉ
lệ này thấp hơn đáng kể so với Sun và Rain
 Ngược lại với tần suất xuất hiện của Sun và Rain, thì Drizzle (Mưa phùn) và Snow (Tuyết) là
hai loại thời tiết ít xuất hiện nhất lần lượt là 3,6% và 1,8%, có thể do tần suất của chung phụ
thuộc vào điều kiện thời tiết đặc biệt.

Lượng mưa trung bình theo từng loại điều kiện thời tiết

Điều kiện thời tiết Lượng mưa trung bình


Drizzle 0.000000
Rain 6.557878
Sun 0.000000
Snow 8.553846
Fog 0.000000
Bảng 4-2. Bảng lượng mưa trung bình theo từng loại điều kiện thời tiết

Biểu đồ 4- 2. Biểu đồ lượng trung bình theo từng điều kiện thời tiết
16
Dựa vào biểu đồ lượng mưa trung bình theo từng điều kiện thời tiết, ta đều có thể thấy:
 Trong điều kiện mưa (rain) và tuyết (snow) đều có lượng mưa đáng chú ý:
─ Lượng mưa trong 2 điều kiện này lần lượt là 6.56mm cho điều kiện mưa và 8.55mm cho
điều kiện tuyết, điều này có thể cho thấy rằng loại điều kiện thời tiết này thường đi kèm với
lượng mưa đáng kể.
─ Lượng mưa cao có thể ảnh hướng đến nhiều hoạt động hàng ngày và cần được xem xét
trong việc lập kế hoạch và quản lý thời tiết.
 Trong 3 điều kiện còn lại là mưa phùn (drizzle), nắng (sun), sương mù (fog) không gây ra mưa:
─ Mưa phùn, nắng và sương mù có lượng mưa là 0, cho rằng chúng không thường gây ra mưa.
─ Mưa phùn thường đi kèm với những giọt mưa nho và nhẹ, trong khi nắng và sương mù
thường liên quan đến điều kiện thời tiết khô ráo hơn
=>Thông tin về lượng mưa trong từng loại thời tiết cho thấy sự đa dạng của thời tiết và khả năng
ảnh hưởng của nó đối với môi trường tự nhiên và các hoạt động con người. Sự hiểu biết về sự đa
dạng này có thể giúp đánh giá nguy cơ lũ lụt, khả năng tưới tiêu và sự cần thiết của duy trì hệ thống
thoát nước.

Tốc độ gió trung bình theo từng điều kiện thời tiết

Điều kiện thời tiết Tốc độ gió trung bình


Drizzle 2.367925
Rain 3.669891
Sun 2.956406
Snow 4.411538
Fog 2.481188
Bảng 4-3. Bảng tốc độ gió trung bình theo từng điều kiện thời tiết

17
Biểu đồ 4- 3. Biểu đồ tốc độ gió trung bình theo từng điều kiện thời tiết

Dựa vào biểu đồ tốc độ trung bình của gió trong từng loại điều kiện thời tiết, ta có thể thấy sự biến
đổi đáng kể của tốc độ gió dựa trên các điều kiện thời tiết khác nhau.
 Tốc độ gió cao nhất trong điều kiện tuyết (snow):
─ Phân tích cho thấy rằng tốc gió cao nhất thường được ghi nhận trong điều kiện tuyết. Dữ
liệu cho thấy rằng tốc độ gió trung bình khi có tuyết lên đến 4,41, cao hơn so với các điều
kiện thời tiết khác. Điều này có thể phản ánh sự tăng cường của cơn gió trong các cơn tuyết.
 Tốc độ gió thấp nhất trong điều kiện mưa phùn (drizzle) và sương mù (fog):
─ Trong điều kiện mưa phùn và sương mù, tốc độ gió trung bình thấp nhất so với các loại thời
tiết khác lần lượt là 2,37 và 2,48. Điều này có thể cho thấy rằng không có sự tác động mạnh
mẽ như các yếu tố thời tiết khác.

18
Nhiệt độ tối thiểu trung bình theo từng loại điều kiện thời tiết

Điều kiện thời tiết Nhiệt độ tối thiểu trung bình


Drizzle 7.111321
Rain 7.588768
Sun 9.343750
Snow 0.146154
Fog 7.979208
Bảng 4-4. Bảng nhiệt độ tối thiểu trung bình theo từng điều kiện thời tiết

Biểu đồ 4- 4. Biểu đồ trung bình nhiệt độ tối thiểu theo từng điều kiện thời tiết

Biểu đồ trung bình nhiệt độ tối thiểu theo từng điều kiện thời tiết phân tích dữ liệu nhiệt độ thấp
trung bình của Seattle cho thấy sự khác biệt đáng kể tùy thuộc vào loại thời tiết.
 Sự khác biệt lớn nhất là giữa ngày nắng và ngày có tuyết, nhiệt độ tối thiểu trung bình vào
những ngày nắng đạt tối đa 9,34°C, trong khi vào những ngày có tuyết chỉ là 0,15°C.

19
 Điều này cho thấy rõ sự ảnh hưởng của sự khác biệt theo mùa và các yếu tố khí hậu đến nhiệt
độ.
 Tuy nhiên, nếu so sánh các điều kiện thời tiết mưa, mưa phùn, sương mù thì chúng ta thấy rằng
sự chênh lệch về nhiệt độ tối thiểu trung bình không quá lớn.Trong trường hợp này, nhiệt độ tối
thiểu trung bình là từ 7,11 đến 7,98 độ C, chênh lệch chỉ từ 0,3 đến 0,8 độ.
 Điều này cho thấy các điều kiện thời tiết mưa, mưa phùn và sương mù nhìn chung ổn định hơn
và ít biến đổi hơn so với khi trời nắng và khi tuyết rơi.

Nhiệt độ trung bình tối đa theo từng điều kiện thời tiết

Điều kiện thời tiết Nhiệt độ tối đa trung bình


Drizzle 15.926415
Rain 13.454602
Sun 19.861875
Snow 5.573077
Fog 16.757426
Bảng 4-5. Bảng nhiệt độ trung bình tối đa theo từng điều kiện thời tiết

20
Biểu đồ 4- 5. Biểu đồ trung bình nhiệt độ tối đa theo từng điều kiện thời tiết

Seattle, Washington, một trong những thành phố nổi tiếng của Mỹ với thời tiết đa dạng và phong
phú. Điều này rõ ràng thể hiện thông qua dữ liệu về nhiệt độ trung bình tối đa, được thể hiện thông
qua biểu đồ trung bình tối đa theo từng loại điều kiện thời tiết:
 Với nhiệt độ trung bình tối đa khi nắng cao đạt 19.86 độ C và chỉ còn 5.57 độ C khi tuyết phủ
kín.
 Mưa phùn, mưa và sương mù, mặc dù thường đi kèm với nhiệt độ trung bình tối đa thấp hơn,
nhưng lại có tác động quan trọng đến cuộc sống hàng ngày của cư dân. Chúng đóng vai trò quan
trọng trong việc tạo ra một môi trường sống và làm việc thoải mái và an toàn cho người dân,
đồng thời cung cấp cơ hội cho sự phát triển bền vững của thành phố.

21
4.4.Thảo luận và kết luận
Khí hậu của nơi đây không quá khắc nghiệt và được mệnh danh là thành phố mưa – The
Emerald City. Với khí hậu ôn đới hải dương, ở Seattle, mùa hè khá ấm áp và mùa đông thì ẩm ướt,
điều này được thể hiện qua biểu đồ lượng mưa trung bình, trong đó khi trời có tuyết lượng mưa cao
nhất (8.55mm). Chính điều này, thời tiết ở đây khá ôn hòa, cây cối xanh tốt. Tất cả khiến nơi đây trở
thành điểm đến sinh sống và du lịch lý tưởng của đông đảo du khách trên toàn thế giới.
Trong nghiên cứu này, nhóm em đã tiến hành một bộ dữ liệu về thời tiết ở thành phố Seattle
thuộc bang Washington. Mục tiêu của chúng em là phân tích về các yếu tố như lượng mưa, tốc độ
gió, nhiệt độ ảnh hưởng đến thời tiết như thế nào để cung cấp cái nhìn tổng quan và chi tiết về thời
tiết trong khu vực này.
Do chưa có nhiều kinh nghiệm làm đề tài cũng như những hạn chế về kiến thức, trong bài tiểu
luận chắc chắn sẽ không tránh khoi những thiếu sót. Rất mong nhận được sự nhận xét, ý kiến đóng
góp, phê bình từ phía Thầy để bài tiểu luận được hoàn thiện hơn. Lời cuối cùng, em xin kính chúc
Thầy nhiều sức khoe, thành công và hạnh phúc.

22
TÀI LIỆU THAM KHẢO

1. Đông Tùng. (2023, 12 28). NumPy là gì? Nó hoạt động như thế nào. Thegioimaychu.vn.
Retrieved March 25, 2024, from <https://thegioimaychu.vn/blog/ai-hpc/numpy-la-gi-no-hoat-dong-
nhu-the-nao-p17778/>
2. NumPy documentation — NumPy v1.26 Manual. (n.d.). NumPy -. Retrieved March 25, 2024,
from <https://numpy.org/doc/stable/>
3. Python là gì? Tất tần tật về ngôn ngữ lập trình Python. (2022, December 8). Glints. Retrieved
April 7, 2024, from <https://glints.com/vn/blog/ngon-ngu-lap-trinh-python-la-gi/>
4. Trung Tâm Tin Học. (2023, August 7). Tự học lập trình Python cơ bản dành cho người mới
bắt đầu. Trung Tâm Tin Học Đại học Khoa Học Tự Nhiên. Retrieved March 24, 2024, from
<https://csc.edu.vn/tin-tuc/kien-thuc-lap-trinh/tu-hoc-lap-trinh-python-co-ban-danh-cho-nguoi-moi-
bat-dau-8327>
5. Using Matplotlib — Matplotlib 3.8.3 documentation. (n.d.). Matplotlib. Retrieved March 25,
2024, from <https://matplotlib.org/stable/contents.html>
6. Van Hoang, N. (2019, 5 21). Giới thiệu về Pandas (một thư viện phổ biến của Python cho
việc phân tích dữ liệu). Viblo. Retrieved April 7, 2024, from <https://viblo.asia/p/gioi-thieu-ve-
pandas-mot-thu-vien-pho-bien-cua-python-cho-viec-phan-tich-du-lieu-aWj53Nnel6m>
7. Van Hoang, N. (2019, 7 21). Giới thiệu về Matplotlib (một thư viện rất hữu ích của Python
dùng để vẽ đồ thị). Viblo. Retrieved April 7, 2024, from <https://viblo.asia/p/gioi-thieu-ve-
matplotlib-mot-thu-vien-rat-huu-ich-cua-python-dung-de-ve-do-thi-yMnKMN6gZ7P>

23

You might also like