1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình cho khoa học dữ liệu - Bài 4: Xử lý dữ liệu trong Python

27 34 0

Đ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

Định dạng
Số trang 27
Dung lượng 532,39 KB

Nội dung

Bài giảng Lập trình cho khoa học dữ liệu - Bài 4: Xử lý dữ liệu trong Python cung cấp cho người học những kiến thức như: Kiểu dữ liệu tuần tự (sequential datatype); String (chuỗi); List (danhsách); Tuple(hàng); Range(miền). Mời các bạn cùng tham khảo!

LOGO NHẬP MƠN LẬPTRÌNH CHO KHOA HỌC DỮ LIỆU Bài Xử lý liệu Python Nội dung Kiểu liệu (sequential datatype) String (chuỗi) List (danh sách) Tuple (hàng) Range(miền) Kiểu liệu (sequential datatype) ▪ Kiểu liệu tuần tự: kiểu liệu chứa bên liệu nhỏ thường xử lý cách lấy phần-tử-một (bằng vòngfor) ▪ Các kiểu liệu chứa bên liệu nhỏhơn thường gọi container (bộ chứa) ▪ Khái niệm “tuần tự” nhấn vào việc xử lý phần tử một, không thiết cách xử lý ▪ Có kiểu thơng dụng list, tuplevà range ▪ Có nhiều kiểu khác string, bytes, bytearray,… lập trình viên tự tạo kiểu riêng theo nhu cầu String (chuỗi) ▪ Một chuỗi xem hàng (tuple)các chuỗi độ dài ▪ Trong python khơng có kiểu kí tự (character) ▪ Nội dung chuỗi không thay đổi được, ghépthêm nội dung vào chuỗi thực chất tạo chuỗi ▪ Hàm len(s) trả độ dài (số chữ) củas ▪ Phép toán với chuỗi: ▪ Phép nối chuỗi (+): s = "Good" + " " +"Morning!" # số nguyên ▪ Phép nhân (*): s = "AB" * ▪ Kiểm tra nội dung: s in '1ABABABCD' # True String (chuỗi) Chỉ mục chuỗi ▪ Các phần tử (các chữ) chuỗi đánh số thứ tự truy cập vào phần tử theo số Python trì cách đánh mục khácnhau: ▪ Đánh từ trái qua phải: số đánh từ trở cuối chuỗi ▪ Đánh từ phải qua trái: số đánh từ-1 giảm dần đầu chuỗi Đ H T H U Y L O I -9 -8 -7 -6 -5 -4 -3 -2 -1 String (chuỗi) Cắt chuỗi ▪ Dựa mục, phép cắt chuỗi cho phép lấynội dung bên chuỗi cú pháp sau ▪ [vị t r í A : v ị t r í B] ▪ [vị t r í A : v ị t r í B : bước nhảy] ▪ Giải thích: ▪ Tạo chuỗi đến trước • Tức chuỗi khơng gồm vị tríB ▪ ▪ ▪ ▪ Nếu khơng ghi mặc định lấy từđầu Nếu khơng ghi mặc định đến hết chuỗi Nếu khơng ghi mặc định bước là1 Nếu giá trị âm nhận chuỗi ngượclại String (chuỗi) Cắt chuỗi s = '0123456789' print(s[3:6]) print(s[3:]) print(s[:6]) print(s[-7:-4]) print(s[-4:-7]) print(s[-4:-7:-1]) print(s[:len(s)]) print(s[:len(s)-1]) print(s[:]) print(s[len(s):: -1]) print(s[len(s)-1::-1]) print(s[len(s) -2::-1]) # # # # # # # # # # # # 345 3456789 012345 345 654 0123456789 012345678 0123456789 9876543210 9876543210 876543210 String (chuỗi) Định dạng chuỗi ▪ Dùng toán tử %: %() ▪ Bên có kí hiệu đánh dấu nơi đặt tham số ▪ Nếu đánh dấu %s: thay tham số dạngchuỗi ▪ Nếu đánh dấu %d: thay tham số dạngnguyên ▪ Nếu đánh dấu %f: thay tham số dạngthực ▪ Ví dụ: "Chao %s, g io l a "Can bac cua "Can bac cua "Can bac cua "Can bac cua %d g i o " % ( ' t x n a m ' , 10) = %f" % ( * * ) = %10.3f" % ( * * ) = %10f" % ( * * ) = %.7f" % ( * * ) String (chuỗi) Định dạng chuỗi ▪ Dùng toán tử %: %() ▪ Bên có kí hiệu đánh dấu nơi đặt tham số ▪ Nếu đánh dấu %s: thay tham số dạngchuỗi ▪ Nếu đánh dấu %d: thay tham số dạngnguyên ▪ Nếu đánh dấu %f: thay tham số dạngthực ▪ Ví dụ: "Chao %s, g io l a "Can bac cua "Can bac cua "Can bac cua "Can bac cua %d g i o " % ( ' t x n a m ' , 10) = %f" % ( * * ) = %10.3f" % ( * * ) = %10f" % ( * * ) = %.7f" % ( * * ) String (chuỗi) Định dạng chuỗi ▪ Python cho phép định dạng chuỗi dạng f-string myname = 'DHTL' s = f ' T h i s i s {myname}.' w = f ' { s } {myname}' z = f'{{s}} {s}' # ' T h i s i s DHTL.' # ' T h i s i s DHTL DHTL' # ' { s } This i s DHTL.' ▪ Mạnh mẽ định dạng bằngformat # điền l ầ n lượt từ ng gi t r ị vào cặp ngoặc nhọn ' a : { } , b: { } , c : { } ' f o r m a t ( , 2, 3) 10 # điền không l ầ n lượt ' a : {1 } , b : { } , c: { 0} ' f orma t ( ' o n e ' , ' two' , ' t h r e e' ) 'two same values: {0}, { } ' forma t(1 , 2) # điền c h ỉ định g i t r ị ' : { o n e } , : {two}'.format(one=111, two=222) String (chuỗi) Các phương thức chuỗi ▪ Các phương thức chỉnhdạng ▪ ▪ ▪ ▪ ▪ capitalize(): viết hoa chữ đầu, lại viếtthường upper(): chuyển hết thành chữhoa lower(): chuyển hết thành chữthường swapcase(): chữ thường thành hoa ngượclại title(): chữ đầu từ viết hoa, lại viết thường ▪ Các phương thức cănlề ▪ center(width [,fillchar]):căn lề với độ dài width ▪ rjust(width [,fillchar]): lề phải ▪ ljust(width [,fillchar]): lề trái 13 String (chuỗi) Các phương thức chuỗi ▪ Các phương thức chỉnhdạng ▪ ▪ ▪ ▪ ▪ capitalize(): viết hoa chữ đầu, lại viếtthường upper(): chuyển hết thành chữhoa lower(): chuyển hết thành chữthường swapcase(): chữ thường thành hoa ngượclại title(): chữ đầu từ viết hoa, lại viết thường ▪ Các phương thức cănlề ▪ center(width [,fillchar]):căn lề với độ dài width ▪ rjust(width [,fillchar]): lề phải ▪ ljust(width [,fillchar]): lề trái 14 List (danh sách) ▪ List = dãy đối tượng (một loại array đanăng) ▪ Khai báo trực tiếp cách liệt kê phần tử đặt cặp ngoặc vuông ([]), ngăn cách bởiphẩy [ , 2, 3, 4, 5] [ 'a ' , ' b' , ' c' , 'd ' ] [[1, 2], [3, 4]] [ , ' one' , [ 2, ' two' ] ] [] # # # # # l i st list l i st list list số nguyên chuỗi l i s t hỗ hợp rỗng ▪ Kiểu chuỗi (str) python xem nhưmột list đặc biệt, bên gồm toàn str độ dài 15 List (danh sách) Khởi tạo danh sách ▪ Tạo list constructor l1 = l i s t ( [ , 2, 3, 4] ) # l i st số nguyên l = l i st ( 'a bc ' ) # l i s t chuỗi l3 = l i s t ( ) # l i s t rỗng ▪ Tạo list listcomprehension # X # # Y 16 l i st 1000 số nguyên t đến 999 = [ n f o r n i n range(1000)] l i st gồm 10 l i s t l cặp [ x , x 2] với x chạy từ đến = [ [ x , x * x ] f o r x i n range(10)] List (danh sách) Phép tốn ▪ Giữa list str có tương đồng định ▪ List hỗ trợ phép toán: ghép nối (+), nhân (*) kiểm tra nội dung(in) ▪ List sử dụng hệ thống mục phép cắt phần tương tự nhưstr ▪ Điểm khác biệt nội dung list có thểthay đổi l1 = l i s t ( [ , 2, 3, 4]) l [ - 1] = l i s t ( ' abc' ) print(l1) # [ , 2, 3, [ ' a ' , ' b ' , ' c ' ] ] 17 List (danh sách) Chỉ mục ▪ Chỉ mục danh sách đến n-1 ▪ Truy cập đến phần từ: [index] ▪ List không lưu trữ phần tử cách trực tiếp mục Sự thực tham chiếu lưu trữ mục mà tham chiếu tới đối tượng lưu trữ nhớ Điều số đối tượng lớn số đối tượng khác chúng lưu trữ vị trí nhớ khác 18 List (danh sách) Chỉ mục ▪ Ví dụ 4.1: list1 = ['vatly', 'hoahoc', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, ]; print ("list1[0]: ", list1[0]) # list1[0]: vatly print ("list2[1:5]: ", list2[1:5]) # list2[1:5]: [2, 3, 4, 5] ▪ Gán giá chị cho phần tử: [index]= ▪ Ví dụ 4.2: list = ['vatly', 'hoahoc', 1997, 2000]; print ("Gia tri co san tai chi muc thu : ",list[2]) list[2] = 2001; print ("Gia tri moi tai chi muc thu : ",list[2]) 19 List (danh sách) Phương thức ▪ Một số phương thức thường hay sửdụng ▪ count(sub, [start, [end]]):đếm số lần xuất sub ▪ index(sub[, start[, end]]): tìm vị trí xuất sub, trả ValueError khơng tìm thấy ▪ clear(): xóa trắng list ▪ append(x): thêm x vào cuối list ▪ extend(x): thêm phần tử x vào cuối list ▪ insert (p, x): chèn x vào vị trí p list ▪ pop(p): bỏ phần tử thứ p khỏi list (trả giá trị phần tử đó), khơng định p lấy phần tử cuối 20 List (danh sách) Phương thức ▪ Một số phương thức thường hay sửdụng ▪ copy(): tạo list (tương tự list[:]) ▪ remove(x): bỏ phần tử list có giá trị x, báo lỗi ValueError khơng tìm thấy ▪ reverse(): đảo ngược phần tử list ▪ sort(key=None, reverse=False): mặc định xếp phần tử từ bé đến lớn list cách so sánh trực tiếp giá trị x = "Trương Xuân Nam".split ( ) x s o r t ( k e y = s t r l o w e r ) print(x) 21 List (danh sách) ▪ Ví dụ 4.3: Thêm phần tử vào list list1=[10,"hoang",'z'] print ("Cac phan tu cua List la: ") print (list1) list1.append(10.45) print ("Cac phan tu cua List sau phu them la: ") print (list1) ▪ Ví dụ 4.4: Xóa phần tử list list1 = ['vatly', 'hoahoc', 1997, 2000]; print (list1) del (list1[2]); print ("Cac phan tu cua List sau xoa gia tri tai chi muc : ",list1) 22 List (danh sách) Hàm 23 Tuple (hàng) Tạo Tuple ▪ Tuple = dãy đối tượng (list), bị thay đổi giá trị q trình tính tốn ▪ Như str giống tuple nhiều list ▪ Khai báo trực tiếp cách liệt kê phần tử đặt cặp ngoặc tròn (), ngăn cách dấu phẩy ( , 2,3, 4, 5) ( ' a ' , 'b ' , ' c ' , ' d ' ) ( , ' one' , [ 2, ' two' ] ) ( 1, ) () 24 # # # # # tupl e tuple tuple tu pl e tuple số nguyên chuỗi hỗ hợp phần t rỗng Tuple (hàng) Phân biệt Tuple với List ▪ Tuple hỗ trợ phép toán: +, *, in ▪ Tuple cho phép sử dụng mục giống List ▪ Các phương thức thường dùng củatuple ▪ count(v): đếm số lần xuất v tuple ▪ index(sub[, start[, end]]): tương tự str list ▪ Tuple khác list điểm nào? ▪ Chiếm nhớhơn ▪ Nhanh 25 Range (miền) ▪ Chúng ta làm quen với range dùng vòngfor ▪ range(stop): tạo miền từ đếnstop-1 ▪ range(start, stop[, step]): tạo miền từ start đến stop-1, với bước nhảy step • Nếu khơng định step =1 • Nếu step số âm tạo miền đếm giảm dần (start >stop) ▪ Vậy range khác tuple đặc biệt ▪ ▪ ▪ ▪ 26 Range chứa số nguyên Range nhanh nhiều Range chiếm nhớhơn Range hỗ trợ mục cắt (nhưng đặcbiệt) LOGO ... print(s[:6]) print(s [-7 :-4 ]) print(s [-4 :-7 ]) print(s [-4 :-7 :-1 ]) print(s[:len(s)]) print(s[:len(s )-1 ]) print(s[:]) print(s[len(s):: -1 ]) print(s[len(s )-1 : :-1 ]) print(s[len(s) -2 : :-1 ]) # # # # # #... số Python trì cách đánh mục khácnhau: ▪ Đánh từ trái qua phải: số đánh từ trở cuối chuỗi ▪ Đánh từ phải qua trái: số đánh t? ?-1 giảm dần đầu chuỗi Đ H T H U Y L O I -9 -8 -7 -6 -5 -4 -3 -2 -1 ... cách lấy phần-tử-một (bằng vòngfor) ▪ Các kiểu liệu chứa bên liệu nhỏhơn thường gọi container (bộ chứa) ▪ Khái niệm “tuần tự” nhấn vào việc xử lý phần tử một, không thiết cách xử lý ▪ Có kiểu

Ngày đăng: 09/08/2021, 17:59

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w