Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.1 MB, 36 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAMĐộc lập – Tự do – Hạnh phúc
<b>Sinh viên thực hiện : </b>
- Phạm Nguyễn Hải Anh - K224161806- Trần Ngô Gia Linh - K224161823
- Nguyễn Ngọc Phương Vy - K224161844- Trần Ngọc Kim Yến - K224161847
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2"><b>MỤC LỤC</b>
<i><b>L IỜ M ĐẦẦUỞ...2</b></i>
<i><b>I. Giới thiệu về Pandas...3</b></i>
<i><b>II. Dữ liệu sử dụng trong Pandas...3</b></i>
<b><small>3. Missing data (dữ liệu rỗng):...10</small></b>
<b><small>3.1. Kiểm tra missing data...11</small></b>
<b><small>3.2. Xử lý missing data...14</small></b>
<i><b>III. Cách sử dụng:...17</b></i>
<b><small>1. Cài đặt Pandas...17</small></b>
<b><small>1.1. Cài đặt thơng qua Anaconda...17</small></b>
<b><small>1.2. Cài đặt thơng qua trình quản lý package của python là pip:...17</small></b>
<b><small>1. ng d ng trong vi c tra c u thông tn:Ứụệứ...24</small></b>
<b><small>2. Ứng dụng trong việc hỗ trợ tính tốn, thống kê số liệu:...24</small></b>
<b><small>3. Ứng dụng trong vẽ biểu đồ minh họa...26</small></b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><b>LỜI MỞ ĐẦU</b>
Ngày nay, chúng ta đã bước vào thế kỉ 21 - một thế kỷ được đánhgiá là bước ngoặt to lớn về sự bùng nổ của khoa học kĩ thuật cũng nhưlà kỷ ngun của cơng nghệ thơng tin. Vai trị của công nghệ và kiếnthức dường như đã trở thành yếu tố quan trọng nhất quyết định sựthành công của mọi lĩnh vực trên thế giới. Công nghệ thông tin đã vàđang làm thay đổi cuộc sống của chúng ta, nó giúp ta nắm bắt kịpnhững xu hướng, những đổi mới, những phát triển hiện đại của cuộcsống. Nếu không có sự trợ giúp của nó, con người khơng thể nào bắtkịp vận hành của thế giới hiện đại và tất nhiên chúng ta sẽ trở nên lạchậu, chậm tiến, và đi thụt lùi. Bên cạnh đó, cơng nghệ thơng tin cũngcó ý 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ềmnê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ươngmạ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 để hồn thành cơng việc. Vì vậy có thể thấy đượcrằng, cơng nghệ dường như đã trở thành một phần không thể thiếutrong mọi hoạt động xã hội và đời sống của con người. Để có thể tìmhiểu về cách cơng nghệ ra đời và hoạt động, việc lập trình điều mà tasẽ 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ốnlà một cơng cụ đắc lực hỗ trợ lập trình viên trong quá trình tìm hiểu,
<b>học lập trình và thực chiến trong các dự án thực tế. Với Python, có thể</b>
nói Pandas - một trong những thư viện thiết yếu được sử dụng rất rộngrãi trong Data Science. Pandas sẽ giúp làm quen với các dữ liệu củamì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óadữ 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ệphoặc các cơ sở dữ liệu. Chính vì vậy nhóm chọn Pandas để tìm hiểutrong bài báo cáo thư viện với mong muốn tích lũy kiến thức về thưviện “lão làng”, “đầy tên tuổi” trong Python.
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b>I. Giới thiệu về Pandas</b>
- 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ụnghơn, lấp đầy khoảng cách giữa hai ngôn ngữ thống kê là Python đối vớiR.
<b>II. Dữ liệu sử dụng trong Pandas1. Series</b>
-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ộtlưu chỉ mục, cái còn lại lưu dữ liệu
3
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><b>1.1. Truy xuất dữ liệu trong Series </b>
-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
-Ví dụ về truy xuất dữ liệu trong series:Tạo một series 1
Và series 2
Giờ ta truy xuất lấy dữ liệu từ USA, lúc này USA là tên index củaseries 1 và 2
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">-Nhân 2 series
-Chia 2 series
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><b>1.5. Các hàm cơ bản trong Series</b>
7
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><b>2. Dataframe:2.1. Khái niệm</b>
- Data frame là một tập dữ liệu, trong đó mỗi cột là một biến, mỗidịng là một quan sát. Định dạng dữ liệu này khá tương đồng với cácphần mềm phân tích thống kê khác như SAS hoặc SPSS
- Data frame là kiểu dữ liệu 2 chiều với nhiều cột có thể chứa nhiềukiểu dữ liệu khác nhau:
Dictionary của các mảng 1 chiều9
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">Thư viện numpy 2 chiều ( Structure Array hoặc module recordarray)
Dữ liệu series khácData frame khác
<b>2.2. Cách sử dụng</b>
2.2.1. Nhập dữ liệu trực tiếp
-Trước tiên ta cần thêm thư viện pandas vào ứng dụng lập trình +Sử dụng lệnh import pandas ̣(as pd : viết tắt để dễ sữ dụngtrong câu lệnh)
+ Nhập thông tin dưới dạng list gồm index và value
2.2.2. Sử dụng file CSV
- 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
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">- Bước 3: csvFile = csv.reader(file) : in ra dữ liệu của file csv
<b>3. Missing data (dữ liệu rỗng):</b>
Tạo một dataframe tồn tại giá trị NaN
11
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13"><b>3.1. Kiểm tra missing data </b>
Dùng hương thức isnull() và notnull() để kiểm tra phần tử là NaNhay không là NaN tương ứng
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">-Kiểm tra dữ liệu rỗng theo hàng
<small>Downloaded by Vu Vu ()</small>
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">-Kiểm tra dữ liệu rỗng theo cột
14
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16"> axis: nhận giá trị mặc định là 0 –‘index’, 1-‘columns’
how: ‘any’ sẽ drop axis đang xét nếu có bất gì phần tử NaN nàotồn tại, ‘all’ sẽ drop axis nếu toàn bộ phần tử đang xét nhận giá trị NaN
-Quay lại áp dụng ví dụ:
<small>Downloaded by Vu Vu ()</small>
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">-Gán gián trị mặc định cho “missing data” dùng hàmfillna(number)
16
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">-Quay lại áp dụng ví dụ:
<small>Downloaded by Vu Vu ()</small>
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><b>III. Cách sử dụng1. Cài đặt Pandas</b>
<b>1.1. Cài đặt thông qua Anaconda</b>
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:
conda install pandas
Hoặc cài đặt một phiên bản nào đó của Pandas:
<b>conda install pandas=0.20.3</b>
<b>1.2. Cài đặt thơng qua trình quản lý package của python là pip:</b>
Cài đặt Pandas bằng pip trên 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
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">pip install pandas
- Có thể kiểm tra phiên bản Pandas đang được sử dụng bằng cách:
python -c "import pandas; print(pandas.__version__)"Chú ý: Các phiên bản Python hỗ trợ Pandas: 3.8, 3.9, 3.10, 3.11
<b>2. Sử dụng Pandas2.1. Khai báo thư viện</b>
2.2.1. Tạo DataFrame từ dictionary:import pandas as pd
data = {'name': ['PhDy', 'Kim Ín', 'Dalinh'], 'age': [25, 30, 35]}
df = pd.DataFrame.from_dict(data)print(df)
Kết quả: name age0 Phdy 251 Kim Ín 302 Dalinh 35
2.2.2. Truy cập vào phần tử trong dictionary:import pandas as pd
data = {'name': ['PhDy', 'Kim Ín', 'Dalinh'], 'age': [25, 30, 35]}
df = pd.DataFrame.from_dict(data)
# Truy cập vào phần tử trong dictionary
print(df['name'][0])Kết quả:
<small>Downloaded by Vu Vu ()</small>
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">Kết quả:
name age gender0 PhDy 25 F1 Kim Ín 30 F2 Dalinh 35 F
2.2.4. Lấy các giá trị duy nhất của một cột:import pandas as pd
data = {'name': ['PhDy', 'Kim Ín', 'Dalinh', 'HAnh',
'Mr. Phan'],
'gender': ['F', 'F', 'F', 'M', 'M']}df = pd.DataFrame.from_dict(data)
# Lấy các giá trị duy nhất của một cột
print(df['gender'].unique())Kết quả
# Tính tốn trên các giá trị của một cột
print(df['age'].sum())Kết quả:
2.2.6. Sắp xếp DataFrame theo một cột:import pandas as pd
data = {'name': ['PhDy', 'Kim Ín', 'Dalinh'], 'age': [25, 30, 35]}
df = pd.DataFrame.from_dict(data)
# Sắp xếp DataFrame theo một cột
df = df.sort_values(by='age')print(df)
Kết quả:
name age0 PhDy 251 Kim Ín 302 Dalinh 35
<b>2.3. List</b>
2.3.1. Tạo DataFrame từ list:import pandas as pd
data = [['PhDy', 25], ['Kim Ín', 30], ['Dalinh', 35]]20
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">df = pd.DataFrame(data, columns=['name', 'age'])print(df)
Kết quả:
name age0 PhDy 251 Kim Ín 302 Dalinh 35
2.3.2. Truy cập vào phần tử trong list:import pandas as pd
data = [['PhDy', 25], ['Kim Ín', 30], ['Dalinh', 35]]
df = pd.DataFrame(data, columns=['name', 'age'])print(df['name'][0])
Kết quả:PhDy
2.3.3. Thêm cột vào DataFrame:import pandas as pd
data = [['PhDy', 25], ['Kim Ín', 30], ['Dalinh', 35]]
df = pd.DataFrame(data, columns=['name', 'age'])
# Thêm cột vào DataFrame
df['gender'] = ['F', 'F', 'F']print(df)
Kết quả:
name age gender0 PhDy 25 F1 Kim Ín 30 F2 Dalinh 35 F
2.3.4. Lấy các giá trị duy nhất của một cột:import pandas as pd
data = [['PhDy', 'F'], ['Kim Ín', 'F'], ['Dalinh', 'F'], ['HAnh', 'M'], ['Mr.Phan', 'M']]
df = pd.DataFrame(data, columns=['name', 'gender'])
# Lấy các giá trị duy nhất của một cột
print(df['gender'].unique())Kết quả:
['F' 'M']
2.3.5. Tính tốn trên các giá trị của một cột:21
<small>Downloaded by Vu Vu ()</small>
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">import pandas as pddata = [['PhDy', 25], ['Kim Ín', 30], ['Dalinh', 35]]
df = pd.DataFrame(data, columns=['name', 'age'])print(df['age'].sum())
Kết quả:90
2.3.6. Sắp xếp DataFrame theo một cột:import pandas as pd
data = [['PhDy', 25], ['Kim Ín', 30], ['Dalinh', 35]]
df = pd.DataFrame(data, columns=['name', 'age'])
# Sắp xếp DataFrame theo một cột
df = df.sort_values(by='age')print(df)
Kết quả:
name age0 PhDy 251 Kim Ín 302 Dalinh 35
<b>2.4. Array</b>
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ềutrong NumPy. Chúng ta có thể tạo một ‘Series' bằng cách truyềnmột danh sách vào hàm ‘Series()’ của Pandas:
import pandas as pdarr = [1, 2, 3, 4, 5]s = pd.Series(arr)print(s)
Kết quả:0 11 22 33 44 5
Có thể thao tác với ‘Series' tương tự như trên array:
# Truy cập phần tử đầu tiên
# Cắt từ phần tử thứ 2 đến cuối
22
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">print(df)Kết quả: A B0 1 61 2 72 3 83 4 94 5 10
2.4.3. Đọc và xử lý file CSV2.4.3.1. Đọc file CSV
import pandas as pd
df = pd.read_csv('filename.csv')print(df.to_string())
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 tồ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.
# Xem 5 dòng đầu tiên của file csv
Thay thế, lọc, tính tốn và ghép nối các cột hoặc dịng dữ 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:
# Lọc các dịng có giá trị trong cột 'age' lớn hơn hoặc bằng 18
df = df[df['age'] >= 18]
Để tính tốn giá trị trung bình của cột ‘score':23
<small>Downloaded by Vu Vu ()</small>
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25"># Tính giá trị trung bình của cột 'score'
mean_score = df['score'].mean()
Để ghép nối hai cột ‘firstname' và ‘lastname' thành một cột mới ‘fullname':
# Ghép nối hai cột 'first_name' và 'last_name' thành một cột mới 'full_name'
df['full_name'] = df['first_name'] + ' ' + df['last_name']
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:
# Ghi dữ liệu vào file csv mới
df.to_csv('new_filename.csv', index=False)
Trong đó, ‘new_filename.csv' là tên của file csv mới và‘index=False' để không ghi thêm cột chỉ số của dòng vào file csv.
<b>2.5. Định dạng chuỗi thời gian</b>
Trong Pandas, định dạng chuỗi thời gian được xử lý bởi đốitượng ‘DatetimeIndex' 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ứcnày có thể chuyển đổi một chuỗi hoặc một mảng các chuỗi thànhmột ‘DatetimeIndex' hoặc một ‘Series' chứa các giá trị thời gian. Vídụ:
import pandas as pd
# Tạo bảng dữ liệu mẫu
df = pd.DataFrame({'time': ['2022-03-01
10:30:00', '2022-03-02 11:30:00', '2022-03-03 12:30:00']})
# Chuyển đổi chuỗi thời gian thành DatetimeIndex
df['time'] = pd.to_datetime(df['time'])
# In ra kiểu dữ liệu của cột 'time'
print(df['time'].dtype)Kết quả là một ‘DatetimeIndex':datetime64[ns]
Ta cũng có thể chuyển đổi một chuỗi hoặc mảng các chuỗithành một ‘Series' chứa các giá trị thời gian bằng cách sử dụngphương thức ‘pd.to_datetime()’:
import pandas as pd
# Tạo một mảng các chuỗi thời gian
times = ['2022-03-01 10:30:00', '2022-03-02 11:30:00', '2022-03-03 12:30:00']
# Chuyển đổi mảng các chuỗi thời gian thành
24
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">Series chứa các giá trị thời gian
<b>IV. Ứng dụng:</b>
<b>1. Ứng dụng trong việc tra cứu thông tin:</b>
Sau đây là một đoạn mã Python cho phép người dùng nhập thơngtin của mình và đặt vé máy bay dựa trên một tệp CSV chứa thông tinchuyến bay.
Cuối cùng, kết quả hiển thị trên màn hình sẽ là:
<small>Downloaded by Vu Vu ()</small>
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27"><b>2. Ứng dụng trong việc hỗ trợ tính tốn, thống kê số liệu:</b>
Giả sử ta có dữ liệu (được trích từ tệp ‘doanh thu.csv’) như sau:
Đoạn mã sau đây sử dụng thư viện Pandas để đọc một file CSVchứa dữ liệu về doanh thu vào một DataFrame. Từ đó tính tổng doanhthu của tất cả các sản phẩm, doanh thu trung bình, và tìm ra sản phẩmcó doanh thu cao nhất và thấp nhất cùng với số tiền tương ứng:
26
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">Kết quả báo cáo được hiển thị như sau:
<b>3. Ứng dụng trong vẽ biểu đồ minh họa3.1. Biểu đồ trịn:</b>
Lấy ví dụ ở ứng dụng trước:
<small>Downloaded by Vu Vu ()</small>
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">Đoạn mã minh họa:
*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
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">Đoạn mã minh họa:
30
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">*title: đặt tên cho biểu đồKết quả nhận được sẽ là:
<b>3.3. Biểu đồ cột ghép:</b>
Giả sử, ta có dữ liệu về doanh thu trong năm tháng (được trích từtệp ‘DoanhThuTheoQuy’) như sau:
Khi đó ta có thể vẽ 2 dạng biểu đồ cột ghép khácĐoạn mã minh họa biểu đồ cột ghép chồng lên nhau
*stacked=True: làm cho các cột chồng lên nhau.Kết quả đạt được là:
<small>Downloaded by Vu Vu ()</small>
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">Và đoạn mã minh họa biểu đồ cột ghép liền kề nhau
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">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ệungay trên bản gốc để không làm tốn nhiều bộ nhớ.
Cuối cùng kết quả đạt được là:
<b>3.5. Biểu đồ hộp (Boxplot)</b>
Lấy ví dụ ở trên:
<small>Downloaded by Vu Vu ()</small>
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">Đoạn mã minh họa như sau:
Và kết quả nhận được:
34
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36"><b>LỜI KẾT</b>
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ácphân tích dữ liệu như truy xuất, lọc, sắp xếp, tính tố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à HDF5.
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ụ hồ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.
<small>Downloaded by Vu Vu ()</small>
</div>