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

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

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.infor()
  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.descript()
df.descript()

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?

Lưu ý: chỉ dành cho các cột có ID và đảm bảo độc lập.

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 để lọc ra top x trong dataframe? Hay what is the most [populations/our life]

Lưu ý: tương tác giữa hai trường trong dataframe

df.sort_values(by = '<feature>', 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à trường thông tin 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 = '<field_data_df>').sum().sort_values(by = '<field_data_root>', ascending = False).head()

So sánh điều kiện đối với dataFrame

Method 1: 
df[df['<field_data>'] >= <conditional thresh>]['df'].nunique()
Method 2:
len(df[df['<field_data>'].apply(lambda field: field >= <conditional thresh>)])
Method 3 and this method is the most popular:
sum(data['<field_data>'] >= <conditional thresh>)

Ví dụ lọc từng thành phố để kiểm tra những thành phố không có dòng chữ ‘text’:
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ó.


Lời cảm ơn

Cảm ơn anh chị và các bạn đã ủng hộ và mọi ý kiến đóng góp mình xin nhận và hy vọng được các anh chị và các bạn thông cảm.

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/

Nguồn: viblo.asia

Bài viết liên quan

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ

Cách sử dụng SFTP (Giao thức truyền file qua SSH an toàn hơn)

SFTP là cách an toàn để truyền files giữa các máy tính, gữa máy local và web hostin