Pandas là một thư viện phổ biến trong Python, chuyên dùng để phân tích và xử lý dữ liệu. Thư viện này cung cấp hai cấu trúc dữ liệu chính: Series và DataFrame, mỗi loại đều có đặc điểm riêng, giúp thao tác và phân tích dữ liệu hiệu quả.
Pandas Series
Series là một cấu trúc dữ liệu một chiều trong Pandas, giống như một mảng nhưng có nhãn (index) cho từng phần tử. Nó có thể chứa nhiều loại dữ liệu khác nhau, như số, chuỗi hoặc đối tượng Python.
Series thường được dùng để thao tác và phân tích dữ liệu, có thể tạo từ danh sách, mảng, từ điển hoặc một Series khác. Đặc biệt, nhiều Series có thể kết hợp để tạo thành DataFrame – một cấu trúc hai chiều dạng bảng
Cú pháp chung:
import pandas as pd s = pd.Series(data, index=index) # Hiển thị Series print(s)
Trong đó Data có thể là:
- Từ điển Python (dict)
- Mảng NumPy (ndarray)
- Danh sách Python (list)
- Một giá trị đơn (scalar)
- Index: Danh sách chỉ mục tương ứng với các phần tử của dữ liệu.
Tạo Series từ một List
Series 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ố nguyên, chuỗi, số thực, đối tượng Python, v.v.). Cần lưu ý rằng, không giống như danh sách (list) trong Python, một Series luôn chứa dữ liệu cùng một kiểu.
data = [1, 2, 3, 4, 5] series_from_list = pd.Series(data) print(series_from_list)
Kết quả hiển thị sau khi chạy bài trên:
0 1 1 2 2 3 3 4 4 5 dtype: int64
Tạo Series từ Dictionary
Chúng ta có thể tạo một đối tượng Series trong pandas bằng cách sử dụng dictionary trong Python. Điều này được thực hiện bằng cách truyền dictionary vào phương thức pandas.Series()
. Khi đó, pandas sẽ tạo một Series mới với các cặp khóa-giá trị từ dictionary.
import pandas as pd data = {'a': 1, 'b': 2, 'c': 3} series_from_dict = pd.Series(data) print(series_from_dict)
Kết quả hiển thị sau chạy đoạn code trên:
a 1 b 2 c 3 dtype: int64
Khởi tạo một Series với chỉ mục tùy chỉnh
Chỉ mục của một Series được sử dụng để gắn nhãn và xác định từng phần tử trong dữ liệu. Chỉ mục có thể được xem như một tập hợp có thứ tự và bất biến (về mặt kỹ thuật, nó là một tập hợp đa hợp vì có thể chứa các nhãn trùng lặp) và được sử dụng để lập chỉ mục cũng như căn chỉnh dữ liệu trong pandas.
import pandas as pd data = [1, 2, 3, 4, 5] index = ['a', 'b', 'c', 'd', 'e'] series_custom_index = pd.Series(data, index=index) print(series_custom_index)
Kết quả sau khi chạy đoạn code trên:
a 1 b 2 c 3 d 4 e 5 dtype: int64
Data Frame
DataFrame là một cấu trúc dữ liệu có nhãn hai chiều với các cột có thể có kiểu dữ liệu khác nhau, giống như một bảng tính, bảng trong SQL hoặc một từ điển chứa các đối tượng Series. Đây thường là đối tượng được sử dụng phổ biến nhất trong pandas.
Tạo Dataframe với Series
Để tạo một DataFrame từ một Series, trước tiên chúng ta cần tạo một đối tượng Series của Pandas. Chúng ta có thể tạo một đối tượng Series bằng cách truyền một danh sách các giá trị vào phương thức pd.Series().
import pandas as pd data = pd.Series([100, 200, 300], index=["A", "B", "C"]) df = pd.DataFrame({"Giá trị": data}) print(df)
Tạo Dataframe với Dictionary
Bạn có thể tạo một DataFrame từ một dictionary bằng cách sử dụng pandas.DataFrame(). Dưới đây là một ví dụ:
import pandas as pd # Tạo dictionary data = { 'Mã số': [101, 102, 103], 'Tuổi': [25, 30, 22], 'Thành phố': ['Hà Nội', 'Hồ Chí Minh', 'Đà Nẵng'] } # Chuyển đổi thành DataFrame df = pd.DataFrame(data) # Hiển thị DataFrame print(df)
Kết quả sau khi chạy đoạn code trên:
Mã số Tuổi Thành phố 0 101 25 Hà Nội 1 102 30 Hồ Chí Minh 2 103 22 Đà Nẵng
Thêm cột mới trong Dataframe
Cú pháp thêm cột :
df[“New_Column”] = [value1, value2, value3, …]
Ý nghĩa:
- Thêm một cột mới vào DataFrame với danh sách giá trị tương ứng cho từng dòng.
- Độ dài danh sách phải khớp với số dòng của DataFrame.
Sau đây là một ví dụ thực tế về việc thêm cột vào DataFrame, giả sử bạn đang quản lý danh sách nhân viên trong một công ty và muốn thêm thông tin về mức lương của họ:
import pandas as pd # Tạo DataFrame ban đầu với danh sách nhân viên data = {"Họ Tên": ["Ngọc", "Minh", "An"], "Tuổi": [25, 30, 22]} df = pd.DataFrame(data) # Thêm cột "Mức Lương" df["Mức Lương"] = [15000000, 20000000, 12000000] # Hiển thị DataFrame sau khi thêm cột print(df)
Kết quả sau khi chạy đoạn code trên:
Họ Tên Tuổi Mức Lương 0 Ngọc 25 15000000 1 Minh 30 20000000 2 An 22 12000000
Kết luận
DataFrame là một cấu trúc dữ liệu linh hoạt, giúp chuyển đổi dữ liệu thô thành dạng có cấu trúc để phân tích. Tài liệu này đã trình bày cách tạo DataFrame từ Series, kết hợp nhiều Series và thêm cột mới. Đồng thời, nó cũng nhấn mạnh vai trò quan trọng của Pandas trong Python.
Xem thêm:
Khóa học Xử lý và trực quan hóa dữ liệu với Python
Cách sử dụng Function trong Python
Merge dữ liệu trong Power Query
Ngoài ra, bạn có thể theo dõi Fanpage để cập nhật thêm nhiều bài viết hữu ích và các khóa học nhé!