Microsoft PowerPoint PYB L2 Python in Data Analytics pptx PYTHON IN DATA ANALYTICS LESSON 2 PANDAS Pandas là gì? Thư viện pandas trong python là một thư viện mã nguồn mở, hỗ trợ đắc lực trong thao t.
Trang 1PYTHON IN DATA ANALYTICS
LESSON 2 PANDAS
Trang 2 Pandas sử dụng cấu trúc dữ liệu riêng là Series và Dataframe
Pandas cung cấp rất nhiều phương thức, toán tử xử lý và làm việc trên cấu trúc dữ liệu này
2
Trang 4Dữ liệu kiểu series
mảng: một lưu chỉ mục, cái còn lại lưu dữ liệu.
pandas.Series( data=None, index=None, dtype=None, copy=False)
Trong đó:
data có thể là list, dictionary hoặc hằng số.
index là tập các giá trị chỉ mục duy nhất có thể băm và độ dài len(index) bằng với len(data).
dtype là kiểu dữ liệu của đối số data.
copy có giá trị True/False, mặc định là False Copy input data.
4
Trang 5 Có thể khởi tạo Series từ List hoặc Array.
5
Trang 6 Khi không gán chỉ mục cho đối tượng Serries thì pandas sẽ tự gán cho nó giá trị mặc định.
6
Trang 8 Thực hiện cộng hai đối tượng Series S1 và S2, thì các giá trị tại các chỉ mục giống
nhau sẽ được cộng cho nhau Nếu một chỉ mục không tồn tại ở một trong hai Series, giá trị cho Series này sẽ là NaN
8
Trang 10 Truy xuất các giá trị đơn của một hoặc nhiều hơn một giá trị của Series qua chỉ số hoặc một list các chỉ số
10
Trang 11 Thay vì phải truyền vào gồm hai danh sách như các ví dụ phía trên ta có thể tạo ra Series bằng cách truyền dictionary.
11
Trang 12STT Thuộc tính/Phương thức Ý nghĩa
1 axes trả về danh sách các chỉ mục
2 dtype trả về kiểu dữ liệu
3 empty kiểm tra xem dữ liệu có empty không
4 ndim trả về chiều của dữ liệu , theo định nghĩa nó là 1
5 size trả về số lượng phần tử có trong dữ liệu series đó
Trang 13 DataFrame linh hoạt và hiệu quả trong thao tác dữ liệu, nó cho phép lập chỉ mục;
Là một công cụ cho phép đọc/ ghi dữ liệu giữa bộ nhớ và nhiều định dạng file: csv, text, excel, sql…
Liên kết dữ liệu thông minh, xử lý được trường hợp dữ liệu bị thiếu Tự động đưa dữ liệu lộn xộn về dạng có cấu trúc;
Dễ dàng thay đổi bố cục của dữ liệu;
Lấy ra tập con từ tập dữ liệu lớn Có thể thêm, xóa các cột dữ liệu;
Tối ưu về hiệu năng;
13
Trang 14Đọc file csv
Sử dụng hàm read_csv và được trả về 1 dataframe
In ra n bản ghi đầu tiên của dataframe sử dụng hàm head Ngược lại của hàm head là hàm tail
14
Trang 15 Một vài tham số của hàm read_csv như:
encoding: chỉ định encoding của file đọc vào Mặc định là utf-8
sep: thay đổi dấu ngăn cách giữa các cột Mặc định là dấu phẩy (‘,’)
header: chỉ định file đọc vào có header(tiêu đề của các cột) hay không Mặc định là infer Khi chỉ định không có header, dòng header của chúng ta đã biến thành 1 bảnghi dữ liệu
index_col: chỉ định chỉ số cột nào là cột chỉ số(số thứ tự) Mặc định là None
nrows: chỉ định số bản ghi sẽ đọc vào Mặc định là None – đọc toàn bộ
15
Trang 16Thao tác với dataframe
Xem thông tin của dataframe vừa đọc vào bằng cách sử dụng hàm info() hoặc xem kích thước của dataframe này với thuộc tính shape
16
Trang 17Truy xuất dữ liệu trên dataframe
Lấy 1 cột theo tên cột
Lấy theo nhiều cột
17
Trang 18 Lấy bản ghi theo chỉ số (lát cắt).
18
Trang 19 Lọc các bản ghi theo điều kiện.
19
Trang 20 So sánh chuỗi và trả về dataframe.
20
Trang 21 Lấy giá trị của một cột trả về dưới dạng numpy array trong thư viện pandas python, sửdụng thuộc tính values
21
Trang 22Thêm, sửa, xóa dữ liệu dataframe
Thêm cột từ dữ liệu mới
Thêm cột dựa vào dữ liệu đã có
22
Trang 23 Khởi tạo cột mới có giá trị rỗng.
Xóa cột trong dataframe
23
Trang 24 Xóa bản ghi (dòng) theo chỉ số.
24
Trang 25Phương thức trong dataframe
Sử dụng hàm describe() để lấy ra các phương thức thống kê
25
Trang 26 Xem chi tiết theo cột.
26
Trang 27Thực hành (1)
Cho file dữ liệu: cars_dataset.csv
Câu 1: Đọc và in ra dữ liệu 10 dòng đầu tiên.
Câu 2: In ra loại xe có price lớn nhất.
Câu 3: In ra tất cả các dòng xe của hãng Toyota.
Câu 4: Đếm và in ra tổng số dòng xe của mỗi hãng.
Câu 5: Tìm và in ra dòng xe có giá (price) cao nhất đối với mỗi hãng xe.
Câu 6: Tìm và in ra average-mileage trung bình của mỗi hãng xe.
27
Trang 28Tạo mới dataframe
Tạo mới dataframe từ dict:
peoples = {… }
df = pd.DataFrame(peoples)
print(df)
28
Trang 29 Tạo mới dataframe từ list:
Trang 30 Sắp xếp dataframe.
30
Trang 31 Nối 2 data frame.
31
Trang 32 Xáo trộn các bản ghi.
32
Trang 33Lưu dataframe về file csv
33
Các tham số của hàm to_csv tương tự với hàm read_csv
Trang 34Thực hành (2)
Câu 1: Cho 2 dict như sau:
Hãy viết lệnh python dùng pandas để cho ra file *.csv có kết quả như sau:
34
EuroCars = {'Company': [‘Land Rover', ‘BMW', ‘Audi', ‘Merc'], 'Price': [56845, 261963, 314722 , 431611]} AsiaCars= {'Company': [‘Huyndai', ‘Toyota', ‘Kia', ‘Vinfast'], 'Price': [36595, 43718, 26530 , 8900]}