PYTHON - LÀM QUEN THƯ VIỆN PANDAS - XỬ LÝ DỮ LIỆU DỄ NHƯ EXCEL
Bạn có từng cảm thấy choáng ngợp trước biển dữ liệu khổng lồ, nơi những con số nhảy múa và thông tin ẩn mình đòi hỏi sự kiên nhẫn để khai phá? Chắc chắn bạn không đơn độc. Trong thời đại kỹ thuật số, dữ liệu chính là trái tim của mọi quyết định, nhưng để "nói chuyện" với nó, chúng ta cần một công cụ mạnh mẽ, linh hoạt và dễ sử dụng. Hãy hình dung một thế giới nơi việc phân tích dữ liệu phức tạp trở nên đơn giản như thao tác trên một bảng tính Excel quen thuộc, nhưng lại sở hữu sức mạnh không giới hạn của lập trình. Chào mừng bạn đến với Python và thư viện Pandas – bộ đôi quyền năng đang định hình lại cách chúng ta tương tác với dữ liệu.
Tại TechData.AI, chúng tôi tin rằng việc làm chủ dữ liệu không chỉ dành cho các nhà khoa học dữ liệu chuyên nghiệp. Nó là một kỹ năng thiết yếu cho bất kỳ ai muốn nâng cao năng lực của mình, từ nhà phân tích kinh doanh, chuyên viên tài chính cho đến các nhà quản lý dự án. Và Pandas chính là cây cầu vững chắc giúp bạn chạm tới thế giới đó.
Pandas Là Gì Và Tại Sao Nó Là "Excel Của Python"?
Nếu Excel là công cụ bạn sử dụng hàng ngày để sắp xếp, tính toán và trực quan hóa dữ liệu theo hàng và cột, thì Pandas chính là phiên bản nâng cấp, mở rộng của Excel trong môi trường Python. Nó được thiết kế đặc biệt để làm việc với dữ liệu có cấu trúc (tabular data) một cách hiệu quả và trực quan.
Trái tim của Pandas là hai cấu trúc dữ liệu chính: `Series` và `DataFrame`.
- Series: Có thể hiểu đơn giản là một cột dữ liệu trong bảng tính của bạn. Nó là một mảng một chiều có nhãn, có thể chứa bất kỳ kiểu dữ liệu nào (số, chuỗi, boolean...).
- DataFrame: Đây là "bảng tính" thực sự của bạn trong Pandas. Nó là một cấu trúc dữ liệu hai chiều, giống như một bảng Excel, với các hàng và cột được đặt nhãn. Mỗi cột trong DataFrame thực chất là một đối tượng Series. DataFrame là nơi hầu hết các thao tác xử lý dữ liệu của bạn sẽ diễn ra.
Vậy tại sao lại là "Excel của Python"? Bởi vì Pandas cung cấp hầu hết các chức năng mà bạn yêu thích ở Excel, nhưng với sức mạnh và khả năng mở rộng vượt trội:
- Dễ dàng đọc và ghi dữ liệu: Từ CSV, Excel, SQL database đến các định dạng phức tạp khác.
- Thao tác hàng và cột linh hoạt: Chọn lọc, thêm, xóa, cập nhật, đổi tên – tất cả đều mượt mà.
- Xử lý dữ liệu khuyết thiếu: Điền, loại bỏ các giá trị NaN (Not a Number) một cách thông minh.
- Phân tích thống kê mạnh mẽ: Tính tổng, trung bình, giá trị lớn nhất, nhỏ nhất, độ lệch chuẩn chỉ bằng vài dòng lệnh.
- Gom nhóm và tổng hợp dữ liệu: Tạo báo cáo động (pivot tables) để có cái nhìn sâu sắc.
- Khả năng tích hợp: Kết nối liền mạch với các thư viện Python khác như Matplotlib (trực quan hóa), Scikit-learn (học máy), giúp bạn xây dựng toàn bộ quy trình từ thu thập đến phân tích và dự đoán.
Điểm khác biệt lớn nhất là khả năng tự động hóa. Imagine bạn có một tác vụ lặp đi lặp lại hàng tháng trong Excel. Với Pandas, bạn chỉ cần viết code một lần, và nó sẽ chạy tự động bất cứ khi nào bạn cần, dù dữ liệu của bạn lớn đến mức nào đi chăng nữa. Đây chính là yếu tố biến Pandas từ một công cụ hữu ích thành một trợ thủ đắc lực, giải phóng bạn khỏi những công việc nhàm chán để tập trung vào những phân tích mang lại giá trị thực sự.
Bắt Đầu Với Pandas: Cài Đặt Và Những Bước Cơ Bản Đầu Tiên
Hành trình vạn dặm bắt đầu từ những bước chân đầu tiên. Để sử dụng Pandas, bạn cần đảm bảo rằng Python đã được cài đặt trên máy tính của mình. Nếu bạn chưa có, TechData.AI khuyến nghị cài đặt Anaconda, một nền tảng phân phối Python và R bao gồm rất nhiều thư viện khoa học dữ liệu phổ biến, trong đó có Pandas.
1. Cài Đặt Pandas
Mở Terminal (trên macOS/Linux) hoặc Command Prompt (trên Windows) và gõ lệnh sau:
pip install pandas
Hoặc nếu bạn dùng Anaconda:
conda install pandas
2. Nhập Thư Viện (Importing Pandas)
Mỗi khi bạn muốn sử dụng Pandas trong một script hoặc notebook Python, bạn cần nhập nó vào. Theo quy ước, chúng ta thường nhập Pandas dưới dạng `pd` để tiết kiệm thời gian gõ phím:
import pandas as pd
3. Tạo DataFrame Đầu Tiên Của Bạn
Hãy bắt đầu bằng cách tạo một DataFrame nhỏ từ một từ điển (dictionary) trong Python. Đây là cách tuyệt vời để hiểu cấu trúc cơ bản của DataFrame.
import pandas as pd
# Tạo dữ liệu mẫu dưới dạng dictionary
data = {
'Tên Sản Phẩm': ['Laptop X', 'Điện Thoại Y', 'Máy Tính Bảng Z', 'Phụ Kiện A', 'Đồng Hồ B'],
'Danh Mục': ['Điện Tử', 'Điện Tử', 'Điện Tử', 'Phụ Kiện', 'Thiết Bị Đeo'],
'Giá (VNĐ)': [25000000, 15000000, 10000000, 500000, 3000000],
'Số Lượng Tồn': [100, 150, 75, 500, 200]
}
# Tạo DataFrame
df_sanpham = pd.DataFrame(data)
# Hiển thị DataFrame
print("DataFrame sản phẩm ban đầu:")
print(df_sanpham)
Kết quả:
DataFrame sản phẩm ban đầu:
Tên Sản Phẩm Danh Mục Giá (VNĐ) Số Lượng Tồn
0 Laptop X Điện Tử 25000000 100
1 Điện Thoại Y Điện Tử 15000000 150
2 Máy Tính Bảng Z Điện Tử 10000000 75
3 Phụ Kiện A Phụ Kiện 500000 500
4 Đồng Hồ B Thiết Bị Đeo 3000000 200
Thật dễ dàng phải không? Bạn đã tạo ra một bảng dữ liệu có hàng và cột giống hệt như trong Excel!
4. Đọc Dữ Liệu Từ File CSV (Thế Giới Thực)
Trong thực tế, dữ liệu thường được lưu trữ trong các file. CSV (Comma Separated Values) là một định dạng phổ biến. Giả sử bạn có một file `doanh_thu_quy.csv` với nội dung như sau (bạn có thể tự tạo file này):
Tháng,Sản Phẩm,Doanh Thu,Chi Phí
Tháng 1,Laptop,100000000,50000000
Tháng 1,Điện Thoại,80000000,40000000
Tháng 2,Laptop,120000000,60000000
Tháng 2,Máy Tính Bảng,50000000,25000000
Tháng 3,Điện Thoại,90000000,45000000
Tháng 3,Phụ Kiện,20000000,10000000
Để đọc file này vào DataFrame:
df_doanhthu = pd.read_csv('doanh_thu_quy.csv')
print("\nDataFrame doanh thu từ CSV:")
print(df_doanhthu)
Kết quả:
DataFrame doanh thu từ CSV:
Tháng Sản Phẩm Doanh Thu Chi Phí
0 Tháng 1 Laptop 100000000 50000000
1 Tháng 1 Điện Thoại 80000000 40000000
2 Tháng 2 Laptop 120000000 60000000
3 Tháng 2 Máy Tính Bảng 50000000 25000000
4 Tháng 3 Điện Thoại 90000000 45000000
5 Tháng 3 Phụ Kiện 20000000 10000000
5. Khám Phá Nhanh Dữ Liệu
Khi bạn có một tập dữ liệu lớn, bạn không thể in toàn bộ ra màn hình. Pandas cung cấp các hàm tiện ích để "ngó" qua dữ liệu:
.head(): Hiển thị 5 hàng đầu tiên (bạn có thể truyền số lượng hàng mong muốn)..info(): Tóm tắt thông tin về DataFrame, bao gồm kiểu dữ liệu của từng cột và số lượng giá trị không null..describe(): Tạo ra các thống kê mô tả cho các cột số (đếm, trung bình, độ lệch chuẩn, min, max, tứ phân vị).
print("\n5 hàng đầu tiên của df_doanhthu:")
print(df_doanhthu.head(2))
print("\nThông tin tóm tắt của df_doanhthu:")
df_doanhthu.info()
print("\nThống kê mô tả của df_doanhthu:")
print(df_doanhthu.describe())
Kết quả:
5 hàng đầu tiên của df_doanhthu:
Tháng Sản Phẩm Doanh Thu Chi Phí
0 Tháng 1 Laptop 100000000 50000000
1 Tháng 1 Điện Thoại 80000000 40000000
Thông tin tóm tắt của df_doanhthu:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6 entries, 0 to 5
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Tháng 6 non-null object
1 Sản Phẩm 6 non-null object
2 Doanh Thu 6 non-null int64
3 Chi Phí 6 non-null int64
dtypes: int64(2), object(2)
memory usage: 320.0+ bytes
Thống kê mô tả của df_doanhthu:
Doanh Thu Chi Phí
count 6.000000e+00 6.000000e+00
mean 7.666667e+07 3.833333e+07
std 3.687820e+07 1.843910e+07
min 2.000000e+07 1.000000e+07
25% 5.750000e+07 2.875000e+07
50% 8.500000e+07 4.250000e+07
75% 9.750000e+07 4.875000e+07
max 1.200000e+08 6.000000e+07
"Thao Tác Excel" Với Pandas: Khám Phá Dữ Liệu Mạnh Mẽ
Giờ là lúc chúng ta thực sự bắt tay vào biến đổi dữ liệu. Hãy xem cách Pandas mô phỏng và vượt trội hơn các thao tác Excel cơ bản.
1. Chọn Lọc Cột (Column Selection) - Dễ Dàng Như Chọn Cột Trong Excel
Trong Excel, bạn nhấp vào tiêu đề cột để chọn. Với Pandas, bạn chỉ cần sử dụng tên cột.
# Chọn một cột duy nhất (trả về Series)
san_pham = df_doanhthu['Sản Phẩm']
print("\nCột 'Sản Phẩm':")
print(san_pham)
# Chọn nhiều cột (trả về DataFrame)
doanh_thu_chi_phi = df_doanhthu[['Doanh Thu', 'Chi Phí']]
print("\nCác cột 'Doanh Thu' và 'Chi Phí':")
print(doanh_thu_chi_phi)
Kết quả:
Cột 'Sản Phẩm':
0 Laptop
1 Điện Thoại
2 Laptop
3 Máy Tính Bảng
4 Điện Thoại
5 Phụ Kiện
Name: Sản Phẩm, dtype: object
Các cột 'Doanh Thu' và 'Chi Phí':
Doanh Thu Chi Phí
0 100000000 50000000
1 80000000 40000000
2 120000000 60000000
3 50000000 25000000
4 90000000 45000000
5 20000000 10000000
2. Lọc Hàng (Row Filtering) - Bộ Lọc Quyền Năng Cho Dữ Liệu
Tính năng lọc trong Excel là vô cùng hữu ích. Với Pandas, bạn có thể lọc dữ liệu dựa trên các điều kiện phức tạp hơn nhiều.
# Lọc các giao dịch có Doanh Thu lớn hơn 90 triệu
doanh_thu_cao = df_doanhthu[df_doanhthu['Doanh Thu'] > 90000000]
print("\nDoanh thu lớn hơn 90 triệu:")
print(doanh_thu_cao)
# Lọc theo nhiều điều kiện (ví dụ: Sản Phẩm là 'Laptop' VÀ Doanh Thu > 100 triệu)
laptop_doanh_thu_lon = df_doanhthu[(df_doanhthu['Sản Phẩm'] == 'Laptop') & (df_doanhthu['Doanh Thu'] > 100000000)]
print("\nLaptop có doanh thu trên 100 triệu:")
print(laptop_doanh_thu_lon)
# Lọc các sản phẩm thuộc một danh sách cụ thể (ví dụ: 'Laptop' hoặc 'Điện Thoại')
san_pham_chinh = df_doanhthu[df_doanhthu['Sản Phẩm'].isin(['Laptop', 'Điện Thoại'])]
print("\nSản phẩm chính (Laptop hoặc Điện Thoại):")
print(san_pham_chinh)
Kết quả:
Doanh thu lớn hơn 90 triệu:
Tháng Sản Phẩm Doanh Thu Chi Phí
0 Tháng 1 Laptop 100000000 50000000
2 Tháng 2 Laptop 120000000 60000000
Laptop có doanh thu trên 100 triệu:
Tháng Sản Phẩm Doanh Thu Chi Phí
2 Tháng 2 Laptop 120000000 60000000
Sản phẩm chính (Laptop hoặc Điện Thoại):
Tháng Sản Phẩm Doanh Thu Chi Phí
0 Tháng 1 Laptop 100000000 50000000
1 Tháng 1 Điện Thoại 80000000 40000000
2 Tháng 2 Laptop 120000000 60000000
4 Tháng 3 Điện Thoại 90000000 45000000
3. Thêm, Xóa, Cập Nhật Cột (Add, Delete, Update Columns) - Biến Đổi Dữ Liệu Linh Hoạt
Trong Excel, bạn thêm một cột mới và nhập công thức. Với Pandas, điều này còn mạnh mẽ hơn.
# Thêm cột mới 'Lợi Nhuận'
df_doanhthu['Lợi Nhuận'] = df_doanhthu['Doanh Thu'] - df_doanhthu['Chi Phí']
print("\nDataFrame với cột 'Lợi Nhuận' mới:")
print(df_doanhthu)
# Cập nhật giá trị một cột dựa trên điều kiện (ví dụ: tăng doanh thu cho Laptop tháng 1)
df_doanhthu.loc[0, 'Doanh Thu'] = 110000000 # Sử dụng .loc để chọn hàng và cột cụ thể
print("\nDataFrame sau khi cập nhật doanh thu Laptop tháng 1:")
print(df_doanhthu)
# Xóa cột (ví dụ: cột 'Chi Phí' nếu không cần nữa)
# df_doanhthu_clean = df_doanhthu.drop('Chi Phí', axis=1) # axis=1 chỉ ra rằng bạn muốn xóa cột
# print("\nDataFrame sau khi xóa cột 'Chi Phí':")
# print(df_doanhthu_clean)
Kết quả:
DataFrame với cột 'Lợi Nhuận' mới:
Tháng Sản Phẩm Doanh Thu Chi Phí Lợi Nhuận
0 Tháng 1 Laptop 100000000 50000000 50000000
1 Tháng 1 Điện Thoại 80000000 40000000 40000000
2 Tháng 2 Laptop 120000000 60000000 60000000
3 Tháng 2 Máy Tính Bảng 50000000 25000000 25000000
4 Tháng 3 Điện Thoại 90000000 45000000 45000000
5 Tháng 3 Phụ Kiện 20000000 10000000 10000000
DataFrame sau khi cập nhật doanh thu Laptop tháng 1:
Tháng Sản Phẩm Doanh Thu Chi Phí Lợi Nhuận
0 Tháng 1 Laptop 110000000 50000000 50000000
1 Tháng 1 Điện Thoại 80000000 40000000 40000000
2 Tháng 2 Laptop 120000000 60000000 60000000
3 Tháng 2 Máy Tính Bảng 50000000 25000000 25000000
4 Tháng 3 Điện Thoại 90000000 45000000 45000000
5 Tháng 3 Phụ Kiện 20000000 10000000 10000000
4. Sắp Xếp Dữ Liệu (Sorting Data) - Nhanh Chóng Có Trật Tự
Để sắp xếp dữ liệu theo một hoặc nhiều cột, Pandas cung cấp hàm `sort_values()`.
# Sắp xếp DataFrame theo 'Doanh Thu' giảm dần
df_sorted = df_doanhthu.sort_values(by='Doanh Thu', ascending=False)
print("\nDataFrame sắp xếp theo Doanh Thu giảm dần:")
print(df_sorted)
# Sắp xếp theo 'Tháng' và sau đó theo 'Doanh Thu' tăng dần
df_sorted_multi = df_doanhthu.sort_values(by=['Tháng', 'Doanh Thu'], ascending=[True, True])
print("\nDataFrame sắp xếp theo Tháng rồi Doanh Thu:")
print(df_sorted_multi)
Kết quả:
DataFrame sắp xếp theo Doanh Thu giảm dần:
Tháng Sản Phẩm Doanh Thu Chi Phí Lợi Nhuận
2 Tháng 2 Laptop 120000000 60000000 60000000
0 Tháng 1 Laptop 110000000 50000000 50000000
4 Tháng 3 Điện Thoại 90000000 45000000 45000000
1 Tháng 1 Điện Thoại 80000000 40000000 40000000
3 Tháng 2 Máy Tính Bảng 50000000 25000000 25000000
5 Tháng 3 Phụ Kiện 20000000 10000000 10000000
DataFrame sắp xếp theo Tháng rồi Doanh Thu:
Tháng Sản Phẩm Doanh Thu Chi Phí Lợi Nhuận
1 Tháng 1 Điện Thoại 80000000 40000000 40000000
0 Tháng 1 Laptop 110000000 50000000 50000000
3 Tháng 2 Máy Tính Bảng 50000000 25000000 25000000
2 Tháng 2 Laptop 120000000 60000000 60000000
5 Tháng 3 Phụ Kiện 20000000 10000000 10000000
4 Tháng 3 Điện Thoại 90000000 45000000 45000000
5. Xử Lý Dữ Liệu Khuyết Thiếu (Missing Data) - Dọn Dẹp Để Có Cái Nhìn Sáng Suốt
Dữ liệu khuyết thiếu (NaN - Not a Number) là vấn đề thường gặp. Pandas cung cấp các công cụ mạnh mẽ để xử lý chúng, giống như bạn phải điền hoặc loại bỏ các ô trống trong Excel.
import numpy as np # Thư viện numpy thường được dùng với pandas để tạo giá trị NaN
# Tạo DataFrame với dữ liệu khuyết thiếu
data_missing = {
'ID': [1, 2, 3, 4, 5],
'Tên': ['Alice', 'Bob', np.nan, 'David', 'Eve'],
'Điểm': [85, 90, 78, np.nan, 92],
'Lớp': ['A', 'B', 'A', 'C', np.nan]
}
df_missing = pd.DataFrame(data_missing)
print("\nDataFrame với dữ liệu khuyết thiếu:")
print(df_missing)
# Kiểm tra các giá trị khuyết thiếu
print("\nCác giá trị khuyết thiếu (True là NaN):")
print(df_missing.isnull())
# Đếm số lượng giá trị khuyết thiếu trên mỗi cột
print("\nSố lượng NaN trên mỗi cột:")
print(df_missing.isnull().sum())
# Xóa các hàng có ít nhất một giá trị khuyết thiếu
df_dropped = df_missing.dropna()
print("\nDataFrame sau khi xóa hàng có NaN:")
print(df_dropped)
# Điền các giá trị khuyết thiếu (ví dụ: Điểm = trung bình, Lớp = 'Không xác định')
df_filled = df_missing.copy() # Tạo bản sao để không ảnh hưởng DataFrame gốc
df_filled['Điểm'].fillna(df_filled['Điểm'].mean(), inplace=True)
df_filled['Lớp'].fillna('Không xác định', inplace=True)
print("\nDataFrame sau khi điền NaN:")
print(df_filled)
Kết quả:
DataFrame với dữ liệu khuyết thiếu:
ID Tên Điểm Lớp
0 1 Alice 85.0 A
1 2 Bob 90.0 B
2 3 NaN 78.0 A
3 4 David NaN C
4 5 Eve 92.0 NaN
Các giá trị khuyết thiếu (True là NaN):
ID Tên Điểm Lớp
0 False False False False
1 False False False False
2 False True False False
3 False False True False
4 False False False True
Số lượng NaN trên mỗi cột:
ID 0
Tên 1
Điểm 1
Lớp 1
dtype: int64
DataFrame sau khi xóa hàng có NaN:
ID Tên Điểm Lớp
0 1 Alice 85.0 A
1 2 Bob 90.0 B
DataFrame sau khi điền NaN:
ID Tên Điểm Lớp
0 1 Alice 85.000000 A
1 2 Bob 90.000000 B
2 3 NaN 78.000000 A
3 4 David 86.250000 C
4 5 Eve 92.000000 Không xác định
Sức Mạnh Vượt Trội: Phân Tích Dữ Liệu Chuyên Sâu Với Pandas
Đây là lúc Pandas thực sự tỏa sáng, mang lại khả năng phân tích mà Excel khó có thể sánh kịp, đặc biệt khi dữ liệu của bạn ngày càng lớn và phức tạp.
1. Gom Nhóm (Group By) - Cái Nhìn Tổng Quan Theo Phân Loại
Chức năng `Group By` của Pandas tương tự như việc bạn tạo báo cáo tổng hợp trong Excel, nhưng mạnh mẽ và linh hoạt hơn rất nhiều. Nó cho phép bạn nhóm dữ liệu dựa trên một hoặc nhiều cột, sau đó thực hiện các phép tính tổng hợp (sum, mean, count, min, max) trên từng nhóm.
# Tổng doanh thu và lợi nhuận theo từng Sản Phẩm
doanh_thu_theo_san_pham = df_doanhthu.groupby('Sản Phẩm').agg({
'Doanh Thu': 'sum',
'Lợi Nhuận': 'sum'
})
print("\nTổng doanh thu và lợi nhuận theo từng Sản Phẩm:")
print(doanh_thu_theo_san_pham)
# Doanh thu trung bình theo từng Tháng
doanh_thu_tb_theo_thang = df_doanhthu.groupby('Tháng')['Doanh Thu'].mean()
print("\nDoanh thu trung bình theo từng Tháng:")
print(doanh_thu_tb_theo_thang)
Kết quả:
Tổng doanh thu và lợi nhuận theo từng Sản Phẩm:
Doanh Thu Lợi Nhuận
Sản Phẩm
Điện Thoại 170000000 85000000
Laptop 230000000 110000000
Máy Tính Bảng 50000000 25000000
Phụ Kiện 20000000 10000000
Doanh thu trung bình theo từng Tháng:
Tháng
Tháng 1 95000000.0
Tháng 2 85000000.0
Tháng 3 55000000.0
Name: Doanh Thu, dtype: float64
2. Kết Nối Dữ Liệu (Merging/Joining) - Ghép Nối Nhiều Bảng
Cũng giống như các hàm VLOOKUP, HLOOKUP trong Excel, Pandas cung cấp `merge()` để kết hợp các DataFrame dựa trên các cột chung. Đây là tính năng không thể thiếu khi dữ liệu của bạn được phân tán ở nhiều nguồn khác nhau.
# Tạo một DataFrame thông tin sản phẩm khác
data_info = {
'Sản Phẩm': ['Laptop', 'Điện Thoại', 'Máy Tính Bảng', 'Phụ Kiện', 'Đồng Hồ'],
'Mô Tả': ['Thiết bị điện tử', 'Thiết bị điện tử', 'Thiết bị điện tử', 'Phụ kiện đi kèm', 'Thiết bị đeo thông minh'],
'Màu Sắc Chính': ['Bạc', 'Đen', 'Xám', 'Đen', 'Vàng']
}
df_info_sanpham = pd.DataFrame(data_info)
print("\nDataFrame thông tin sản phẩm:")
print(df_info_sanpham)
# Kết nối df_doanhthu và df_info_sanpham dựa trên cột 'Sản Phẩm'
# Sử dụng 'inner' merge (chỉ giữ lại các hàng có giá trị chung ở cả hai DataFrame)
df_merged = pd.merge(df_doanhthu, df_info_sanpham, on='Sản Phẩm', how='inner')
print("\nDataFrame sau khi kết nối:")
print(df_merged)
Kết quả:
DataFrame thông tin sản phẩm:
Sản Phẩm Mô Tả Màu Sắc Chính
0 Laptop Thiết bị điện tử Bạc
1 Điện Thoại Thiết bị điện tử Đen
2 Máy Tính Bảng Thiết bị điện tử Xám
3 Phụ Kiện Phụ kiện đi kèm Đen
4 Đồng Hồ Thiết bị đeo thông minh Vàng
DataFrame sau khi kết nối:
Tháng Sản Phẩm Doanh Thu Chi Phí Lợi Nhuận Mô Tả Màu Sắc Chính
0 Tháng 1 Laptop 110000000 50000000 50000000 Thiết bị điện tử Bạc
1 Tháng 2 Laptop 120000000 60000000 60000000 Thiết bị điện tử Bạc
2 Tháng 1 Điện Thoại 80000000 40000000 40000000 Thiết bị điện tử Đen
3 Tháng 3 Điện Thoại 90000000 45000000 45000000 Thiết bị điện tử Đen
4 Tháng 2 Máy Tính Bảng 50000000 25000000 25000000 Thiết bị điện tử Xám
5 Tháng 3 Phụ Kiện 20000000 10000000 10000000 Phụ kiện đi kèm Đen
3. Pivot Tables - Báo Cáo Động Linh Hoạt
Pivot Table trong Excel là một công cụ phân tích dữ liệu cực kỳ mạnh mẽ, và Pandas có chức năng tương tự với `pivot_table()`. Nó cho phép bạn tóm tắt dữ liệu theo nhiều chiều, tạo ra các báo cáo tổng hợp chỉ trong tích tắc.
# Tạo Pivot Table: Tổng Doanh Thu theo Tháng và Sản Phẩm
pivot_doanhthu = pd.pivot_table(df_doanhthu,
values='Doanh Thu',
index='Tháng',
columns='Sản Phẩm',
aggfunc='sum',
fill_value=0)
print("\nPivot Table: Tổng Doanh Thu theo Tháng và Sản Phẩm:")
print(pivot_doanhthu)
Kết quả:
Pivot Table: Tổng Doanh Thu theo Tháng và Sản Phẩm:
Sản Phẩm Điện Thoại Laptop Máy Tính Bảng Phụ Kiện
Tháng
Tháng 1 80000000 110000000 0 0
Tháng 2 0 120000000 50000000 0
Tháng 3 90000000 0 0 20000000
Kết quả này cho bạn cái nhìn tổng quan về doanh thu của từng sản phẩm trong mỗi tháng, với các ô không có dữ liệu được điền bằng 0, rất trực quan và dễ hiểu.
Tổng Kết
Chắc chắn rằng, qua bài viết này, bạn đã thấy được tiềm năng to lớn của thư viện Pandas trong việc xử lý và phân tích dữ liệu. Từ những thao tác cơ bản như đọc file, chọn lọc cột, đến những phân tích phức tạp hơn như gom nhóm và tạo pivot table, Pandas mang lại một giải pháp toàn diện, hiệu quả và vô cùng linh hoạt. Nó không chỉ là "Excel của Python" mà còn là một cánh cửa mở ra thế giới phân tích dữ liệu tự động hóa và chuyên sâu, giúp bạn biến những con số khô khan thành những câu chuyện đầy ý nghĩa và những quyết định sáng suốt.
Tại TechData.AI, chúng tôi luôn nỗ lực chia sẻ kiến thức và công cụ tiên tiến nhất để giúp bạn và doanh nghiệp của bạn phát triển. Việc làm chủ Pandas không chỉ nâng cao kỹ năng cá nhân mà còn mở ra vô vàn cơ hội trong sự nghiệp và phát triển kinh doanh. Dữ liệu đang chờ được bạn khai phá, và Pandas chính là chìa khóa để bắt đầu hành trình đó.
Nếu bạn cảm thấy hứng thú và muốn tìm hiểu sâu hơn về Python, Pandas hay bất kỳ khía cạnh nào của Khoa học Dữ liệu, hãy tiếp tục theo dõi các bài viết chuyên sâu từ TechData.AI. Chúng tôi luôn sẵn lòng đồng hành cùng bạn trên con đường chinh phục tri thức và ứng dụng công nghệ vào thực tiễn.
Đừng ngần ngại chia sẻ bài viết này cho bạn bè, đồng nghiệp hoặc bất cứ ai bạn nghĩ có thể tìm thấy giá trị từ việc làm quen với Pandas. Cùng nhau, chúng ta có thể xây dựng một cộng đồng năng động, nơi kiến thức công nghệ được lan tỏa rộng rãi.
