Hướng dẫn dùng describ python

Trong bài trước, chúng ta đã thu thập và làm sạch dữ liệu, nhưng với những con số như vậy thật khó để nhận ra những quy luật hoặc có ý tưởng để thực hiện những bước tiếp theo. Đây là lúc chúng ta cần đọc dữ liệu đã thu thập được và thực hiện phân tách những dữ liệu cần thiết cũng như trực quan hóa chúng thông qua các biểu đồ.

Tìm việc làm python lương cao các công ty lớn

Xử lý file csv với Python

File cost_revenue_clean.csv là file đã được làm sạch những thông tin nhiễu, không chính xác và cả định dạng lại để máy tính có thể hiểu được. Chúng ta cần đưa dữ liệu này vào máy tính để có thể sử dụng cho các mô hình dự đoán, như vậy các dữ liệu này có thể biểu thị bằng các biểu đồ, nó chứa đựng nhiều thông tin hơn một bảng dữ liệu chỉ toàn các con số.

Trước khi bắt đầu, bạn nên làm quen với Jupyter một công cụ không thể thiếu khi lập trình ngôn ngữ Python. Jupyter cho phép bạn thực hiện các đoạn code Python trực tuyến hoặc bạn có thể cài đặt trên máy tính cá nhân. Ở phần tiếp theo này, giả định bạn đã cài đặt hoặc biết cách sử dụng Jupyter trực tuyến tại Jupyter.org.

Đầu tiên, chúng ta tải lên các file dữ liệu cost_revenue_clean.csv với nút Upload trong trang Jupyter. Sau đó, chúng ta sẽ sử dụng module pandas để có thể đọc file dữ liệu này.

import pandas

Pandas là một thư viện Python mã nguồn mở với nhiệm vụ cấu trúc và phân tích dữ liệu. Để đọc dữ liệu từ file csv chúng ta sử dụng phương thức read_csv[].

data = pandas.read_csv['cost_revenue_clean.csv']

Trong Jupyter khi code xong, để thực thi bạn nhấn tổ hợp phím Shift + Enter hoặc bấm vào nút Run trong thanh menu nhanh.

Dữ liệu của chúng ta khoảng hơn 5000 bản ghi, do vậy để có thể nhìn dữ liệu này dưới góc nhìn khoa học, chúng ta sử dụng câu lệnh:

data.describe[]

Chúng ta có các thông tin thống kê như sau:

  • count: tổng số các bản ghi trong dữ liệu
  • min, max: giá trị lớn nhất nhỏ nhất trong dải dữ liệu
  • mean: giá trị trung bình

Chú ý, khi làm việc với các số liệu dạng khoa học, các con số sẽ có định dạng khoa học theo kiểu hàm mũ, thay thế một phần số đó với e +n. Ví dụ:

12345678901 sẽ được hiển thị là 1.23e +10

DataFrame

DataFrame là cấu trúc dữ liệu hai chiều giống kiểu dạng bảng dữ liệu, nó cho phép áp dụng các thuật toán trên các dòng và cột. DataFrame sử dụng cho rất nhiều các kiểu nhập liệu như:

  • Danh sách
  • Thư viện
  • Series

Để sử dụng DataFrame chúng ta cần import nó dưới dạng một thành phần của pandas.

from pandas import DataFrame

Chú ý, Jupyter hỗ trợ tự động hoàn thành [autocomplete] các từ khóa, do đó chỉ cần gõ vài ký tự trong từ khóa sau đó nhấn Tab là nó tự động chèn vào từ khóa đầy đủ giúp cho chúng ta gõ code nhanh hơn và tránh được những lỗi đánh máy như viết chữ hoa – thường.

Chúng ta thực hiện lấy ra các cột dữ liệu thông qua DataFrame được gọi là bóc tách hay phân tách dữ liệu từ dữ liệu gốc.

X = DataFrame[data, columns = ['product_budget_usd']]
y = DataFrame[data, columns = ['worldwide_gross_usd']]

Bài hướng dẫn dừng lại tại đây, trong bài tiếp theo chúng ta sẽ vẽ biểu đồ dữ liệu có được khi phân tách.

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ủ Đề