- vừa được xem lúc

Một số hàm pandas cơ bản sử dụng trong bài toán Time Series

0 0 20

Người đăng: nguyen trong nhan

Theo Viblo Asia

Lời dẫn đầu

Trong quá trình tìm hiểu thư viện Pandas ứng dụng để giải quyết các bài toán liên quan đến Time series, mình nhận thấy có một số hàm cơ bản cần thiết và mình xin được chia sẻ một số điều tổng kết được của bản thân được rút ra từ khóa học trên udemy. Đây chỉ là một số hàm cơ bản và chủ quan mình thấy phổ biến nên rất cần sự đóng góp và bổ sung thêm từ các anh chị và các bạn trong Cộng đồng ạ. Cách triển khai nội dung và cách sử dụng hàm trong Pandas được tóm lược theo từng trường hợp tức là từng dạng câu hỏi khác nhau. Pandas


Nội dung

Một số hàm Pandas cơ bản

Sử dụng thư viện Pandas bằng câu lệnh nào?

import pandas as pd

Sử dụng hàm nào trong pandas để đọc file csv?

pandas.read_csv(<file_csv_path>)

Ví dụ:

df = pandas.read_csv('test.csv')

Tương tự, pandas cũng có hỗ trợ đọc các file ở dạng extension khác nhau như excel, html... Các bạn có thể tìm hiểu nâng cao thêm về phần này theo key-word Pandas IO.
Lưu ý: Có thể sử dụng pwd để kiểm tra vị trí thư mục hiện tại.

Hiển thị các dòng dữ liệu trong dataframe từ pandas như thế nào?

df.head()

Mặc định, hàm head() sẽ trả về 5 dòng đầu tiên trong dataframe, tuy nhiên mình có thể điều chỉnh số lượng dòng trả về bằng cách truyền vào một số nguyên dương trong hàm head()

Hiển thị một số thông tin từ dataframe trong pandas?

  1. Hàm cho biết thông tin của dataframe:
df.info()
  1. Hàm mô tả về dataframe bao gồm độ lệch chuẩn, phương sai, phân vị, trung bình của từng cột (tương ứng với từng trường)
df.describe()

Lấy tên columns - tên trường trong dataframe?

df.columns

Làm thế nào để lọc ra danh sách các giá trị từng cột và các giá trị không trùng với nhau?

df['<tên một trường>'].unique()

Ví dụ:

df['test'].unique()

Làm thế nào để lấy được số lượng của danh sách các giá trị của một cột cụ thể?

df['<tên một trường>'].nunique()

Ví dụ:

df['test'].nunique()

Làm thế nào để đếm số lần xuất hiện của từng giá trị tại một trường của dataframe?

df['<tên một trường>'].value_counts().head(5)
# hàm head() chỉ hỗ trợ hiển thị kết quả.

Làm thế nào để sắp xếp và lọc ra top x trong dataframe?

df.sort_values(by = '<tên trường cần sắp xếp>', ascending = False).head(10)
# cần lưu ý phải có tham số `ascending = False` để quá trình sắp xếp diễn ra và trường hợp này đang lấy top 10 

Làm thế nào để lọc ra top x trong dataframe và các thông tin này cần nhóm lại?

Giải pháp cho vấn đề này là: Kết hợp giữa hàm groupby và hàm sort_values

df.groupby(by = '<tên trường cần nhóm>').sum().sort_values(by = '<tên trường cần sắp xếp>', ascending = False).head()

So sánh điều kiện đối với dataFrame và cho biết số dòng thỏa điều kiện

Cách 1: Toán tử >= chỉ phục vụ cho ví dụ bên dưới, có thể sử dụng nhiều biểu thức điều kiện khác như < > <= >= == !=...

len(df[df['<tên trường>'].apply(lambda <tên trường alias>: <tên trường alias> >= <conditional thresh>)])
# Ví dụ: Cho biết số lượng dòng thỏa điều kiện, giá trị của các dòng test nhỏ hơn 2000
len(df[df['test'].apply(lambda field: field < 2000 )])

Cách 2 và mình thấy rất cool 😄:

sum(df['<tên trường>'] >= <conditional thresh>)
# Ví dụ: Cho biết số lượng dòng thỏa điều kiện, giá trị của các dòng test nhỏ hơn 2000
sum(df['test] < 2000)

Một ví dụ khác như lọc từng thành phố để kiểm tra những thành phố không có dòng chữ 'County':
sum(data['County'].apply(lambda string: 'County' not in string))

Một số hàm khác

Còn rất nhiều hàm thú vị khác trong Pandas. Các bạn có thể tìm hiểu thêm về nó tại series rất thú vị về Pandas của anh SF Raze Series Pandas DataFrame


Lời cảm ơn

Cảm ơn mọi người đã ủng hộ.

Tài liệu tham khảo

  1. https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html
  2. https://www.udemy.com/course/python-for-time-series-data-analysis/\
  3. https://youtu.be/B67x_p-slYc

Bình luận

Bài viết tương tự

- vừa được xem lúc

[Series Pandas DataFrame] Phân tích dữ liệu cùng Pandas (Phần 3)

Tiếp tục phần 2 của series Pandas DataFrame nào. Let's go!!. Ở phần trước, các bạn đã biết được cách lấy dữ liệu một row hoặc column trong Pandas DataFame rồi phải không nào. 6 Hoc.

0 0 63

- vừa được xem lúc

[Series Pandas DataFrame] Phân tích dữ liệu cùng Pandas (Phần 2)

Nào, chúng ta cùng đến với phần 2 của series Pandas DataFrame. Truy xuất Labels và Data. Bạn đã biết cách khởi tạo 1 DataFrame của mình, và giờ bạn có thể truy xuất thông tin từ đó. Với Pandas, bạn có thể thực hiện các thao tác sau:.

0 0 95

- vừa được xem lúc

[Series Pandas DataFrame] Phân tích dữ liệu cùng Pandas (Phần 1)

Pandas DataFrame là một cấu trúc chứa dữ liệu hai chiều và các nhãn tương ứng của nó. DataFrames được sử dụng rộng rãi trong data science, machine learning, scientific computing và nhiều lĩnh vực sử dụng nhiều dữ liệu khác.

0 0 28

- vừa được xem lúc

Buổi hẹn hò đầu tiên với bộ dữ liệu, chúng ta nên làm gì?

Khi có một bộ dữ liệu trong tay, phần lớn những newbie (trong đó có cả mình) sẽ nghĩ tới việc bắt tay vào mô hình hoá, tính toán, phân tích, thậm chí bê nguyên các model machine learning vào để predic

0 0 28

- vừa được xem lúc

[Series Pandas DataFrame] Phân tích dữ liệu cùng Pandas (Phần 7)

Làm việc với Time Series trong Pandas. Pandas thật sự vượt trội trong việc xử lý với Time Series.

0 0 35

- vừa được xem lúc

[Python Library Series] Pandas Tutorial for Beginners Part 1

Pandas là thư viện rất quan trọng đối với các lập trình viên Python hiện nay. Thư viện này được ví như backbone của hầu hết các dự án dữ liệu. . Note:.

0 0 42