Cách sử dụng thư viện Pandas cho phân tích dữ liệu

Ngày đăng: 15/11/2023   -    Cập nhật: 15/11/2023

Cách sử dụng thư viện Pandas cho phân tích dữ liệu

Thư viện Pandas là một trong những thư viện quan trọng nhất trong khoa học dữ liệu vì nó giúp cho việc phân tích và xử lý dữ liệu trở nên dễ dàng hơn. Trong bài viết này, chúng ta sẽ tìm hiểu về cách sử dụng thư viện Pandas cho phân tích dữ liệu.

Tổng quan về thư viện Pandas

Pandas là một thư viện mã nguồn mở được viết bằng Python để cung cấp các công cụ cho việc phân tích dữ liệu và xử lý dữ liệu. Thư viện này được tạo ra bởi Wes McKinney vào năm 2008. Pandas cung cấp cho chúng ta các cấu trúc dữ liệu linh hoạt như DataFrame và Series, giúp cho việc phân tích và xử lý dữ liệu dễ dàng hơn.

Các cấu trúc dữ liệu trong Pandas

Các cấu trúc dữ liệu trong thư viện Pandas bao gồm Series và DataFrame. Series là một cấu trúc dữ liệu 1D tương tự như mảng hoặc danh sách trong Python, cho phép lưu trữ dãy dữ liệu có thể là số, chuỗi văn bản hoặc bất kỳ kiểu dữ liệu nào khác. DataFrame là một cấu trúc dữ liệu 2D giống bảng, mỗi cột của nó có thể chứa dữ liệu thuộc một kiểu dữ liệu khác nhau và có thể được hiểu như một tập hợp các Series.

Series

Series là một cấu trúc dữ liệu 1 chiều trong Pandas, nó giống như một mảng NumPy nhưng được đặt tên các chỉ số. Mỗi phần tử của một Series được gán một chỉ số duy nhất, mà được gọi là index. Ví dụ:


import pandas as pd

import numpy as np


data = np.array([10, 20, 30, 40])

s = pd.Series(data, index=['a', 'b', 'c', 'd'])

print(s)

Output:


a    10

b    20

c    30

d    40

dtype: int64

DataFrame

DataFrame là cấu trúc dữ liệu hai chiều trong Pandas, giống như một bảng trong SQL hoặc một spreadsheet. Mỗi hàng của một DataFrame được gán một chỉ số duy nhất, mà được gọi là index, và mỗi cột được đặt tên riêng biệt. Ví dụ:


import pandas as pd


data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 32, 18, 47]}

df = pd.DataFrame(data)

print(df)

Output:


       name  age

0     Alice   25

1       Bob   32

2   Charlie   18

3     David   47

Cách đọc và ghi dữ liệu bằng Pandas


 

Pandas hỗ trợ cho chúng ta đọc và ghi dữ liệu từ nhiều nguồn khác nhau như CSV, Excel, SQL database, hay thậm chí là clipboard. Chúng ta có thể sử dụng các phương thức như read_csv(), read_excel() để đọc dữ liệu từ file và to_csv(), to_excel() để ghi dữ liệu ra file. Ví dụ:


import pandas as pd


# Đọc dữ liệu từ file CSV

df = pd.read_csv('data.csv')


# Ghi dữ liệu ra file CSV

df.to_csv('output.csv', index=False)

Phân tích và xử lý dữ liệu với Pandas

Pandas cung cấp cho chúng ta các công cụ mạnh mẽ cho phân tích và xử lý dữ liệu. Chúng ta có thể sử dụng các phương thức như describe(), value_counts(), groupby() để phân tích dữ liệu. Ví dụ:


import pandas as pd


# Tạo DataFrame

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 32, 18, 47]}

df = pd.DataFrame(data)


# Sử dụng describe() để phân tích dữ liệu đị mô

t và phương sai của cột "age"

print(df['age'].describe())


# Sử dụng value_counts() để đếm số lượt xuất hiện của các giá trị trong cột "name"

print(df['name'].value_counts())


# Sử dụng groupby() để nhóm dữ liệu theo cột "age"

grouped = df.groupby('age')

for age, group in grouped:

    print(age)

    print(group)

Pandas cũng cung cấp cho chúng ta các công cụ để xử lý dữ liệu. Chúng ta có thể sử dụng các phương thức như dropna(), fillna(), replace() để xử lý các giá trị thiếu hoặc thay thế giá trị trong DataFrame. Ví dụ:


import pandas as pd

import numpy as np


data = {'name': ['Alice', 'Bob', np.nan, 'David'], 'age': [25, 32, 18, 47]}

df = pd.DataFrame(data)


# Sử dụng dropna() để loại bỏ các hàng có giá trị NaN

df.dropna(inplace=True)


# Sử dụng fillna() để điền giá trị NaN bằng một giá trị khác

df.fillna(0, inplace=True)


# Sử dụng replace() để thay thế giá trị trong DataFrame

df.replace({'name': {'Alice': 'Alicia', 'Bob': 'Robert'}}, inplace=True)

Sử dụng Pandas để thao tác với chuỗi thời gian

Pandas cũng cung cấp cho chúng ta các công cụ để thao tác với chuỗi thời gian. Chúng ta có thể sử dụng các phương thức như to_datetime(), resample(), rolling() để xử lý và phân tích dữ liệu theo thời gian. Ví dụ:


import pandas as pd


# Tạo Series với chỉ số là các ngày trong một tuần

dates = pd.date_range('2023-08-01', '2023-08-07')

values = [10, 20, 30, 40, 50, 60, 70]

s = pd.Series(values, index=dates)


# Sử dụng to_datetime() để chuyển đổi chuỗi thành đối tượng datetime

s.index = pd.to_datetime(s.index)


# Sử dụng resample() để tổng hợp dữ liệu theo chu kỳ thời gian khác nhau

weekly_s = s.resample('W').sum()


# Sử dụng rolling() để tính toán trung bình động của dữ liệu

rolling_s = s.rolling(window=3).mean()

Một số tips và tricks khi sử dụng Pandas

Chọn dữ liệu

Chúng ta có thể sử dụng các phương thức như .loc[] và .iloc[] để chọn dữ liệu từ DataFrame hoặc Series.


import pandas as pd


data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 32, 18, 47]}

df = pd.DataFrame(data)


# Sử dụng .loc[] để chọn dữ liệu bằng tên

print(df.loc[0, 'name'])


# Sử dụng .iloc[] để chọn dữ liệu bằng chỉ số

print(df.iloc[0, 0])

Đổi tên cột

Chúng ta có thể sử dụng phương thức .rename() để đổi tên các cột trong DataFrame hoặc Series.


import pandas as pd


data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 32, 18, 47]}

df = pd.DataFrame(data)


# Sử dụng .rename() để đổi tên cột

df.rename(columns={'name': 'full_name'}, inplace=True)

Tạo mới cột

Chúng ta có thể tạo mới một cột trong DataFrame hoặc Series b ằng cách gán cho nó một Series mới.


import pandas as pd


data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 32, 18, 47]}

df = pd.DataFrame(data)


# Tạo một Series mới và gán cho cột mới trong DataFrame

new_column = pd.Series(['F', 'M', 'M', 'M'])

df['gender'] = new_column


Kết luận: trong bài viết này, chúng ta đã tìm hiểu về thư viện Pandas và cách sử dụng nó cho phân tích dữ liệu. Chúng ta đã xem xét các cấu trúc dữ liệu trong Pandas, cách đọc và ghi dữ liệu bằng Pandas, phân tích và xử lý dữ liệu với Pandas, sử dụng Pandas để thao tác với chuỗi thời gian và một số tips và tricks khi sử dụng Pandas. Hy vọng rằng bài viết này sẽ giúp ích cho bạn trong công việc của bạn.

Bình luận Facebook
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!