1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo thư viện pandas kĩ thuật lập trình

36 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thư Viện Pandas
Tác giả Pham, Tran Ngoc Gia Linh, Nguyen Ngoc Phuong Vy, Nguyen Hai Anh, Tran Ngoc Kim Yen
Người hướng dẫn Giảng viên Trương Hoài Phan
Trường học Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Chuyên ngành Kĩ Thuật Lập Trình
Thể loại Báo Cáo
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 36
Dung lượng 7,09 MB

Nội dung

Với Python, có thể nói Pandas - một trong những thư viện thiết yếu được sử dụng rất rộng rãi trong Data Science.. Pandas sẽ giúp làm quen với các dữ liệu của mình bằng cách sắp xếp, phân

Trang 1

CONG HOA XA HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC KINH TẾ - LUẬT

Sinh viên thực hiện :

- Pham Nguyén Hai Anh - K224161806

- Tran Ng6 Gia Linh - K224161823

- Nguyén Ngoc Phuong Vy - K224161844

- Tran Ngoc Kim Yén - K224161847

Trang 2

MUC LUC

LOIM QÂÂU

2.1 Khái niệm -.- S4 2.21111142141114 211112412204 01104010401 1 T04 0104 100101 11000101 04 4110 04 0104 11010 LH Hi v 8

3.1 Kiêm tra missing data 11 3.2 Xử lý missing data 14

THÍ CÁCH SỈ (Ỉ[HHĐ- Sá ọSn HA HH HH HH TH TH KH TH HA 4 08 40.0540 E40 4.18 4.18 084 TH 4.14 0884.1000884 17

1 Cài đặt Pandas 17 1.1 Cài đặt thông qua Anaconda 17 1.2 Cài đặt thông qua trình quản lý package của python là pip: 17

2 Sử dụng Pandas 18 2.1 Khai báo thư viện 18 2.2 Dictionary 18 r6 ha 19

2.6 Thao tác với tệp HTML 23

TV, Ug AU gsesessescsssssssesssssesusssessessessesssssanssussncsssssesusssssssnsssssnesssssesscssesssnsssssnessssssusnes 24

1.Ứ ng dị ng trong vỆ c tra đf u thông tn: 24

2 Ứng dụng trong việc hỗ trợ tính toán, thống kê số liệu: 24

Trang 3

có ý nghĩa to lớn giúp nhân loại chinh phục mọi tầm cao của sự tiến bộ Đặc biệt là với sự phát triển mạnh mẽ của các công nghệ phần mềm nên việc ứng dụng tin học vào đời sống thực tiễn đang rất phát triển và được phổ biến rộng rãi Tất cả các ngành như y tế, giáo dục, thương mại điện tử, đều được tin học hóa một cách hữu dụng và rộng rãi, nó giúp ngành quản lý trở nên có hiệu quả, giảm được tối đa việc lãng phí thời gian và công sức để hoàn thành công việc Vì vậy có thể thấy được rằng, công nghệ dường như đã trở thành một phần không thể thiếu trong mọi hoạt động xã hội và đời sống của con người Để có thể tìm hiểu về cách công nghệ ra đời và hoạt động, việc lập trình điều mà ta

sẽ phải tìm đến.Python được biết đến như là một ngôn ngữ lập trình được sử dụng đông đảo bởi các lập trình viên cũng như sự đa dạng về lĩnh vực mà nó được áp dụng Trong Python có rất nhiều thư viện, vốn

là một công cụ đắc lực hỗ trợ lập trình viên trong quá trình tìm hiểu, học lập trình và thực chiến trong các dự án thực tế Với Python, có thể nói Pandas - một trong những thư viện thiết yếu được sử dụng rất rộng rãi trong Data Science Pandas sẽ giúp làm quen với các dữ liệu của

mình bằng cách sắp xếp, phân tích và biến đổi chúng, cụ thể hơn là có

thể làm sạch dữ liệu bằng cách thực hiện những việc như xóa các giá trị bị thiếu và lọc các hàng và cột theo một số tiêu chí; trực quan hóa

dữ liệu với sự trợ giúp từ Matplotlib, biểu đồ thanh, đường kẻ, biểu đồ; lưu trữ các dữ liệu đã được làm sạch, chuyển đổi chúng thành CSV, tệp hoặc các cơ sở dữ liệu Chính vì vậy nhóm chọn Pandas để tìm hiểu trong bài báo cáo thư viện với mong muốn tích lũy kiến thức về thư

moa

viện “lão làng”, “đầy tên tuổi” trong Python

Trang 4

I Giới thiệu về Pandas

- Pandas là một thư viện mã nguồn mở được viết bằng ngôn ngữ lập trình Python, sử dụng để thực hiện các phân tích và xử lý dữ liệu

Là một thư viện rất mạnh và phổ biến trong cộng đồng phân tích dữ liệu Python và có thể sử dụng trong nhiều lĩnh vực

- Pandas đã được Web McKinney xây dựng nên vào năm 2008, nguyên do là ông đã cảm thấy quá thất vọng khi làm việc với R

- Pandas được xây dựng dựa trên các thuộc tính của NumPy và cung cấp các tính năng mà trên NumPy không có, và tất nhiên là pandas cung cấp cấu trúc dữ liệu với ưu điểm nhanh và dễ sử dụng hơn, lấp đầy khoảng cách giữa hai ngôn ngữ thống kê là Python đối với

R

IL Dữ liệu sử dụng trong Pandas

1 Series

- Là một dạng cấu trúc dữ liệu tương tự mảng 1 chiều

- Được diễn tả theo chiều dọc

- Điều khác biệt giữa mảng NumPy với một series là series có thể

có các nhãn trục, nghĩa là nó có thể được lập chỉ mục bởi một nhãn, thay vì chỉ một vị trí số

-Chứa nhiều kiểu dữ liệu khác nhau như số (integer), chuỗi (string), kiểu boolean (True, false), kiểu dữ liệu NaN

- Có thể được xem như là một cấu trúc dữ liệu với hai mảng: một lưu chỉ mục, cái còn lại lưu dữ liệu

Trang 5

Series index values

1.1 Truy xuất dữ liệu trong Series

- Pandas sử dụng các tên hoặc số chỉ mục cho phép truy xuất dữ liệu nhanh chóng

- Vi du về truy xuất dữ liệu trong series:

Trang 8

1.5 Cac ham co ban trong Series

Trang 9

kiểm tra xem dữ liệu có

3iempty empty không

trả về chiều của dữ liệu ,

4ndim theo định nghĩa nó là 1

trả về số lượng phần tử có

5\size trong dữ liệu series đó

Trang 10

array([ 10, ], dtype=int64) trả về danh sách phản tử

- Data frame là kiểu dữ liệu 2 chiều với nhiều cột có thể chứa nhiều kiểu dữ liệu khác nhau:

¢ Dictionary cua cac mang 1 chiéu

Trang 11

eThu vién numpy 2 chiéu ( Structure Array hoac module record

+ Nhập thông tin dưới dạng list gồm index và value

(>>> import pandas as pd

|

- Bước 1: Sử dụng lệnh import csv : chèn file csv

- Bước 2: with open('Giants.csv', mode ='r')as file: đọc file csv

Trang 12

- Bước 3: csvFile = csv.reader(file) : in ra dữ liệu của file csv

Load from text file (i.e., cvs)

| afl = pd.read csv(file name, [index col=], [header=], [skiprows=])

3 Missing data (dir liéu rong):

Tạo một dataframe tồn tại gia tri NaN

Trang 13

6.560588

-368087 15.188653 NaN 27.841637 =) PT =)

3.1 Kiém tra missing data

Dùng hương thức isnull() và notnull() để kiểm tra phần tử là NaN hay không là NaN tương ứng

Trang 15

A 2

False False True True

False False False True

True False True False

True True False True

True False True False

>>> print “Hang co chua phan tu null”

- Kiểm tra dữ liệu rỗng theo cột

>>> print “Cot co chua phan tu null”

Trang 16

e axis: nhan gia tri mac dinh la 0 -‘index’, 1-‘columns’

e« how: ‘any’ sé drop axis dang xét néu cé bat gì phan ttr NaN nao ton tai, ‘all’ sẽ drop axis nếu toàn bộ phần tử đang xét nhận giá tri NaN

new d£ = d£.dropna (how= all )

foo bar baz

Trang 17

“Drop cac hang có chứa phần tử là NaN trong series SS”

Drop các hàng có chứa phần tử là NaN trong series SS

Trang 19

1.1 Cài đặt thông qua Anaconda

Cách đơn giản nhất để cài đặt Pandas được đề xuất trên website chính thức của Pandas là cài đặt qua Anaconda Sau khi chạy chương trình cài đặt, sử dụng dòng lệnh sau để cài đặt pandas người dùng sẽ có quyền truy cập vào Pandas:

Hoặc cài đặt một phiên bản nào đó của Pandas:

1.2 Cài đặt thông qua trình quản lý package của python là pip:

Cai dat Pandas bang pip tr6n command prompt/terminal của

hệ điều hành Windows/Linux/MacOS:

- Sau khi cài đặt pip, tiến hành cài đặt thư viện Pandas thông qua lệnh sau:

18

Trang 20

- Có thể kiểm tra phiên bản Pandas đang được sử dụng bằng cach:

python -c “import pandas; (pandas version )"

Chu y: Cac phién ban Python hé tro Pandas: 3.8, 3.9, 3.10,

2.2.1 Tạo DataFrame từ dictionary:

Trang 21

name age gender

Trang 22

[ [

Trang 23

pandas

[ [

[ [

2.4.1 Sử dụng Series thao tác với array:

Một 'Series' trong Pandas tương ứng với một array một chiều trong NumPy Chúng ta có thể tạo một “'Series' bằng cách truyền một danh sách vào hàm “Series()' của Pandas:

pandas ere!

1)

22

Trang 24

23

Tương tự như khi dùng Series ở trên,

Trong đó, filename.csv là đường dẫn tới file CSV cần đọc

Tip: sử dụng to_string() để hiển thị ra màn hình toàn bộ

DataFrame

2.4.3.2 Xem thông tin của file CSV

Nếu bạn có 1 DataFrame với nhiều Series, Pandas sẽ chỉ trả về

5 cột đầu tiên hoặc 5 cột cuối cùng

Thay thế, lọc, tính toán và ghép nối các cột hoặc dòng đữ liệu

Ví dụ, để lọc các dòng có giá trị trong cột “age' lớn hơn hoặc

bằng 18:

Đế tính toán giá trị trung bình của cột “score':

Trang 25

mean score = df[ ] mean ()

Để ghép nối hai cét ‘firstname’ va “lastname' thành một cột mới ‘fullname’:

2.4.3.4 Ghi file CSV:

Sau khi xử lý dữ liệu ta có thể sử dụng phương thức “to_csv()'

để ghi dữ liệu vào file csv mới:

2.5 Định dạng chuỗi thời gian

Trong Pandas, định dạng chuỗi thời gian được xử lý bởi đối tượng 'Datetimelndex' bằng cách sử dụng hàm “pd.to_datetime()'

và truyền chuỗi thời gian cần chuyển đổi là đối số Phương thức

này có thể chuyển đổi một chuỗi hoặc một mảng các chuỗi thành một “Datetimelndex' hoặc một “Series' chứa các giá trị thời gian Ví

Trang 26

time series = pd.to datetime (times)

Kết quả cũng là một 'datetime64[ns]'

2.6 Thao tác với tệp HTML

Có thể đọc và xử lý các tệp HTML bằng cách sử dụng hàm 'read_html()', hàm này tự động phát hiện và trích xuất bảng dữ liệu từ các đoạn mã HTML trong tệp

IV Ứng dụng:

1 Ứng dụng trong việc tra cứu thông tin:

Sau đây là một đoạn mã Python cho phép người dùng nhập thông tin của mình và đặt vé máy bay dựa trên một tệp CSV chứa thông tin chuyến bay

Trang 27

Toe amet Hãng Điểm đi Điểm đến Giá vé Hạng

9 01/01/2823 Bamboo Airways Sài Gòn-Đà Lat 1941000 H

Tổng: 8093000.0 déng

Xin cảm ơn quý khách đã sử dụng dịch vụ của chúng tôi

2 Ứng dụng trong việc hỗ trợ tính toán, thống kê số liệu:

„Giả s sử ‘ta có dữ liệu (được trích từ tệp doanh thu.csv') như sau:

< Be O Sear ¿4 sa O© ã © : OUcđ@vwpnsowg A FMB scr @

Doan ma sau day str dung thu vién Pandas để doc mot file CSV chứa dữ liệu về doanh thu vào một DataFrame Từ đó tính tổng doanh thu của tất cả các sản phẩm, doanh thu trung bình, và tìm ra sản phẩm

có doanh thu cao nhất và thấp nhất cùng với số tiền tương ứng:

26

Trang 28

san_pham_thap_nhat['Te yi ĐC ,„ san pham thap nhat[

Bao cao doanh thu

ng doanh thu

© tieš,Columa 1 Tab Sie 4 Python

¿4u ÐO œ€© :'OŒBH€Ệ ^ #0 si

Kết quả báo cáo được hiến thị như sau:

Selection Find View Goto

34°C Search

Nắng tải rác ¡ 4 sec

File Edit Tools

Froject Preferences Help

Tong doanh thu:

Doanh thu trung binh: Ũ

San pham ban chay nhat: San pham C voi doanh thu:

San pham ban cham nhat: San pham A voi doanh thu:

Tab Sine: & Python

Trang 29

nhThuThang cay Eid cé-ThuvientrengPymonpotx + ah @ — ag x

A ce) ows Wop Bx % BI Boome 5 cadee [Zcas a A

= Bm Q Search Yiu ope: OU€cđ@vnsog A FAB yen O

Đoạn mã minh hoa:

jedo Tools Project Preferences Help

St Be Seare Vou OBeCV OUCOCW HAO * ve yrme

*figsize=(): điều chỉnh kích thước của biểu đồ

*autopct: làm tròn 2 chữ số thập phân

Biểu đồ nhận được:

28

Trang 30

€ 88 = ven] @ localhost5 teboots/tJntitleel9ipyni ®#8@@bœQœ $ + =

a ile Edit View Insert Cell Kernel Widgets Help Notebook saved Trusted Python 3 (ipyke + 93% ớ KR 4 & PRun BC DW Code - Bãi

Giả sử, ta có dữ liệu về doanh thu theo tháng (được trích từ tệp

‘DoanhThuThang’) nhu sau:

29

Trang 31

WPS Office DoanhThuThang.csv : Tr

= Menu E [In 32] =) [a S v ca Insert F

ta 3% cut “h Calibri 11 -NA

Paste ~ {LÌ copy ~ fomat B J U-~ A HH1-E2- Q- A-«

E tines Columnt Tab Sizer

30

Trang 32

*title: đặt tên cho biểu đồ

© < Jupyter Untitled9 Last checkpoint: 11/16/2022 (unsaved changes) e Logout

File Edit View insert Cel Kerne Widgets Help = | Python 3 (ipykernel) ©

© B8 + * © BR + bRna BC MH Code =

@ 0ut{29}: cAxesSubplot:title={'center":'Bieu do doanh thu san pham theo thang'}, xÌabel='Thang'›

© Bieu do doanh thu san pham theo thang

Trang 33

Giả sử, ta có dữ liệu về doanh thu trong nam tháng (được trích từ tệp 'DoanhThuTheoQuy') như sau (Giống ví dụ biểu đồ cột ghép trên)

32

Trang 34

SanPham Quy1 Quy2 Quy3 Quy4

A 1000 900 1200 1500

B 1200 1500 1300 1000

c 800 1000 900 700

D 900 500 750 1200

Khi đó ta có thể vẽ biểu đồ đường

'inplace=True' : tránh tạo bản sao df mới, đoạn mã xử lý dữ liệu ngay trên bản gốc để không làm tốn nhiều bộ nhớ

Trang 35

SanPham Quy1 Quy2 Quy3 Quy4

Trang 36

LOI KET Thư viện pandas của Python là một công cụ mạnh mẽ để xử lý dữ liệu Nó cung cấp cho người dùng các cấu trúc dữ liệu linh hoạt như Series và DataFrame, cho phép bạn dễ dàng thực hiện các thao tác phân tích dữ liệu như truy xuất, lọc, sắp xếp, tính toán thống kê, và tổng hợp dữ liệu.Pandas cũng hỗ trợ việc đọc và ghi các định dạng dữ liệu phổ biến như CSV, Excel, SQL và HDFB5

Nó còn có khả năng kết hợp và trộn dữ liệu từ nhiều nguồn khác nhau.Tuy nhiên, pandas không phải là công cụ hoàn hảo cho tất cả các tình huống Khi làm việc với các tập dữ liệu cực kỳ lớn, pandas có thể gặp phải vấn đề hiệu suất, do đó cần phải tối ưu hóa mã để tăng tốc độ

xử lý

Tổng kết lại, thư viện pandas của Python là một công cụ mạnh mẽ

và linh hoạt cho việc xử lý và phân tích dữ liệu Nó cung cấp cho người dùng các cấu trúc dữ liệu đa dạng và tính năng phân tích mạnh mẽ, cho phép người dùng thực hiện các thao tác phúc tạp trên dữ liệu với

độ chính xác cao và tốc độ xử lý nhanh Tuy nhiên, khi làm việc với các tập dữ liệu lớn, pandas có thể gặp phải vấn đề hiệu suất và cần phải tối

ưu hóa mã để tăng tốc độ xử lý

Tóm lại, pandas là một công cụ rất hữu ích và phổ biến trong việc

xử lý dữ liệu và được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau

35

Ngày đăng: 23/08/2024, 15:45