Hướng dẫn dùng the pandas python

Chào các bạn! Bài học hôm nay mình sẽ tổng hợp một số phương thức [Method] thường dùng để xử lý dữ liệu trong pandas

Phương thức nhập xuất dữ liệu 

Phương thức nhập dữ liệu

Trong pandas, ta có thể nhập vào dữ liệu từ nhiều file và nguồn khác nhau, như file csv, excel, html, SQL, JSON, url…

Đọc file CSV

# truyền đối số là đường dẫn file vào 
df = pd.read_csv["/content/drive/MyDrive/Data_thuchanh/Data_baitap_1.csv"]
print[df]

Output:

Đọc từ các nguồn khác

df1 = pd.read_excel["path"]# đọc file excel
df1 = pd.read_html["path"]# đọc html
df1 = pd.read_json["path"]# đọc json
df1 = pd.read_sql[]# lấy dữ liệu sql
#........

Xuất dữ liệu

Ta có thể xuất dữ liệu từ Data Frame ra định dạng CSV hay Excel hay nhiều định dạng khác

df.to_csv["hi.csv"]# Xuất ra tệp hi.csv
df.to_excel["hi.xlsx"] # Xuất ra định dạng file excel
#.........

Các phương thức xử lý Data Frame

Ta lấy Data Frame có tên là df phía trên để thao tác

Xóa cột trong data frame

Xóa cột “Unnamed: 0” trong df trên, tham số inplace = True để thay đổi ngay trên df

df.drop["Unnamed: 0", axis =1, inplace = True]
print[df]

Output:

Phương thức df.head[]

Mặc định lấy thông tin 5 đòng đầu tiên, ta có thể truyền vào tham số để lấy bao nhiêu dòng tùy ý

# Lấy 5 dòng đầu tiên
df.head[]

Output:

Phương thức df.tail[]

Mặc định lấy 5 dòng cuối trong df

# Lấy 5 dòng sau cùng trong bảng df
df.tail[]

Output:

Phương thức df.sample[]

Lấy ngẫu nhiên 5 dòng trong df

# Mặc định chỉ lấy 1 dòng, ta truyền đối số là 5 để lấy 5 dòng
df.sample[5]

Output:

Phương thức df.info[]

Kiểm tra thông tin df, bao gồm các giá trị cột và dòng

df.info[]

Output:

Phương thức df.describe[]

Trả về thông tin thống kê cơ bản các cột là số trong df

df.describe[]

Output:

Thuộc tính df.index

Trả về phạm vi index trong data frame, thuộc tính này dùng để lấy vị trí tất cả các dòng trong df

df.index

Output:

Thuộc tính df.columns

Trả về tên tất cả các cột trong df

df1 = pd.read_excel["path"]# đọc file excel
df1 = pd.read_html["path"]# đọc html
df1 = pd.read_json["path"]# đọc json
df1 = pd.read_sql[]# lấy dữ liệu sql
#........
0

Hàm len[df]

Lấy thông tin độ dài của 1 df [df có bao nhiêu dòng]

df1 = pd.read_excel["path"]# đọc file excel
df1 = pd.read_html["path"]# đọc html
df1 = pd.read_json["path"]# đọc json
df1 = pd.read_sql[]# lấy dữ liệu sql
#........
1

Phuong thức unique[]

Trả về thông tin các giá trị có trong cột, giá trị trùng nhau được gom thành 1. chỉ áp dụng cho series

df1 = pd.read_excel["path"]# đọc file excel
df1 = pd.read_html["path"]# đọc html
df1 = pd.read_json["path"]# đọc json
df1 = pd.read_sql[]# lấy dữ liệu sql
#........
2

Output:

Phuong thức nunique[]

Trả về số lượng các phần tử có trong cột “Ngày 1”

df1 = pd.read_excel["path"]# đọc file excel
df1 = pd.read_html["path"]# đọc html
df1 = pd.read_json["path"]# đọc json
df1 = pd.read_sql[]# lấy dữ liệu sql
#........
3

Phương thức value_counts[]

Đếm các phần tử trong cột “Ngày 1”

df1 = pd.read_excel["path"]# đọc file excel
df1 = pd.read_html["path"]# đọc html
df1 = pd.read_json["path"]# đọc json
df1 = pd.read_sql[]# lấy dữ liệu sql
#........
4

Output:

Phương thức sort_value[]

phương thức này sẽ mặc định trả về giá trị từ nhỏ đến lớn trong một series, muốn sắp xếp theo thứ tự từ lớn đến nhỏ ta truyền tham số ascending = False vào phương thức trên.

df1 = pd.read_excel["path"]# đọc file excel
df1 = pd.read_html["path"]# đọc html
df1 = pd.read_json["path"]# đọc json
df1 = pd.read_sql[]# lấy dữ liệu sql
#........
5

Output:

Ta có thể sắp xếp từ nhỏ đến lớn theo nhiều cột

df1 = pd.read_excel["path"]# đọc file excel
df1 = pd.read_html["path"]# đọc html
df1 = pd.read_json["path"]# đọc json
df1 = pd.read_sql[]# lấy dữ liệu sql
#........
6

Output:

Hàm [function] apply[]

Hàm apply[] áp dụng cho một series trong data frame, hàm này nhận đối số truyền vào là một hàm a, b, c nào đó nhằm xử lý dữ liệu trong cột theo mong muốn đầu ra của ta. xem ví dụ bên dưới các bạn sẽ rõ.

Ta xem trước giá trị ban đầu của df khi chưa áp dụng hàm apply nhé

ta muốn nhân đôi giá trị column “Ngày 1” bằng 1 function

df1 = pd.read_excel["path"]# đọc file excel
df1 = pd.read_html["path"]# đọc html
df1 = pd.read_json["path"]# đọc json
df1 = pd.read_sql[]# lấy dữ liệu sql
#........
7

Output:

Bên cạnh đó, để đơn giản và áp dụng ngay không cần khai báo trước một function, ta có thể sử dụng hàm ẩn danh lambda cũng cho kết quả tương tự

df1 = pd.read_excel["path"]# đọc file excel
df1 = pd.read_html["path"]# đọc html
df1 = pd.read_json["path"]# đọc json
df1 = pd.read_sql[]# lấy dữ liệu sql
#........
8

Output:

Phương thức rename[] đổi tên column hoặc index

df1 = pd.read_excel["path"]# đọc file excel
df1 = pd.read_html["path"]# đọc html
df1 = pd.read_json["path"]# đọc json
df1 = pd.read_sql[]# lấy dữ liệu sql
#........
9

Output:

Ngoài ra ta có thể đổi tên hàng loạt index hoặc columns bằng cách sau:

  1. Đổi tên columns
df.to_csv["hi.csv"]# Xuất ra tệp hi.csv
df.to_excel["hi.xlsx"] # Xuất ra định dạng file excel
#.........
0

Lưu ý: khi ta đổi tên hàng loạt các cột thì giá trị tên cột truyền vào phải bằng với tên cột hiện có trên df, nếu muôn đổi vài cột thì ta sử dụng phương thức rename bên trên

Output:

2. Thay đổi index

df.to_csv["hi.csv"]# Xuất ra tệp hi.csv
df.to_excel["hi.xlsx"] # Xuất ra định dạng file excel
#.........
1

Output:

Phương thức loc[] và iloc[]

Phương thức loc[] để truy xuất giá trị trong cột hoặc dòng với đối số truyền vào là tên cột [column] hoặc tên index

df.to_csv["hi.csv"]# Xuất ra tệp hi.csv
df.to_excel["hi.xlsx"] # Xuất ra định dạng file excel
#.........
2

Output:

Phương thức iloc[] truy cập cột hoặc index theo vị trí [lưu ý: vị trí mặc định tính từ 0 trở đi]

df.to_csv["hi.csv"]# Xuất ra tệp hi.csv
df.to_excel["hi.xlsx"] # Xuất ra định dạng file excel
#.........
3

Output: kết quả tương tự như loc[] tùy theo vị trí ta muốn lấy

truy xuất dữ liệu theo điều kiện

df.to_csv["hi.csv"]# Xuất ra tệp hi.csv
df.to_excel["hi.xlsx"] # Xuất ra định dạng file excel
#.........
4

Output:

Bên dưới là một số cách thường dùng khi truy xuất dữ liệu data frame

df.to_csv["hi.csv"]# Xuất ra tệp hi.csv
df.to_excel["hi.xlsx"] # Xuất ra định dạng file excel
#.........
5

Ok các bạn, đến đây cơ bản ta xong qua phần bài học Pandas, các bạn có thể tham khao thêm tài liệu hướng dẫn về pandas tại đây: //pandas.pydata.org/docs/reference/index.html

Chủ Đề