Python Pandas là một thư viện phổ biến trong việc xử lý dữ liệu, hỗ trợ cho việc phân tích dữ liệu cũng như trực quan hóa dữ liệu. Tuy nhiên, để thao tác tốt với các bảng dữ liệu và chuỗi dữ liệu trong Python Pandas, ta cần tìm hiểu sâu về cách chọn và chỉ mục dữ liệu trong đó. Ở bài học này, chúng ta sẽ tìm hiểu cách chọn và lập chỉ mục dữ liệu trong các bảng dữ liệu và chuỗi dữ liệu trong Python Pandas.
1. Series trong Python Pandas
2. Các phương pháp chọn và lập chỉ mục dữ liệu trong Series
3. DataFrame trong Python Pandas
4. Các phương pháp chọn và lập chỉ mục dữ liệu trong DataFrame
5. Kết luận
1. Series trong Python Pandas
Trong Python Pandas, Series là một đối tượng phổ biến được sử dụng để đại diện cho các chuỗi dữ liệu 1 chiều. Một Series bao gồm một danh sách các phần tử và một danh sách các nhãn được gán cho từng phần tử của chuỗi dữ liệu đó.
Để tạo mới một Series, ta có thể sử dụng hàm Series() như sau:
import pandas as pd
# tạo một Series từ một danh sách các số nguyên
s = pd.Series([1, 3, 5, 7, 9])
print(s)
Output:
0 1
1 3
2 5
3 7
4 9
dtype: int64
Như ta đã thấy ở ví dụ trên, mỗi phần tử trong Series được gán một nhãn (label) theo thứ tự từ 0 đến n-1, trong đó n là số phần tử trong chuỗi.
Ngoài ra, ta có thể tạo một Series từ một từ điển (dictionary) của các cặp key-value như sau:
import pandas as pd
# tạo một Series từ một dictionary
d = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(d)
print(s)
Output:
a 1
b 2
c 3
dtype: int64
2. Các phương pháp chọn và lập chỉ mục dữ liệu trong Series
2.1 Chọn và lập chỉ mục bằng nhãn (label-based indexing)
Để chọn và lập chỉ mục các phần tử trong Series bằng nhãn, ta có thể sử dụng cú pháp như sau:
import pandas as pd
# tạo một Series từ một dictionary
d = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(d)
# chọn phần tử theo nhãn
print(s['a']) # output: 1
Ngoài ra, ta có thể chọn nhiều phần tử bằng nhãn bằng cách truyền vào một danh sách các nhãn:
import pandas as pd
# tạo một Series từ một dictionary
d = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(d)
# chọn nhiều phần tử bằng nhãn
print(s[['a', 'c']]) # output:
# a 1
# c 3
# dtype: int64
2.2 Chọn và lập chỉ mục bằng vị trí (position-based indexing)
Để chọn và lập chỉ mục các phần tử trong Series bằng vị trí, ta có thể sử dụng cú pháp như sau:
import pandas as pd
# tạo một Series từ một dictionary
d = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(d)
# chọn phần tử theo vị trí
print(s[0]) # output: 1
Ngoài ra, ta có thể chọn nhiều phần tử bằng vị trí bằng cách truyền vào một danh sách các vị trí:
import pandas as pd
# tạo một Series từ một dictionary
d = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(d)
# chọn nhiều phần tử bằng vị trí
print(s[[0, 2]]) # output:
# a 1
# c 3
# dtype: int64
3. DataFrame trong Python Pandas
Trong Python Pandas, DataFrame là một đối tượng phổ biến được sử dụng để đại diện cho các bảng dữ liệu 2 chiều. Một DataFrame bao gồm một danh sách các Series và mỗi Series đại diện cho một cột của bảng dữ liệu đó. Mỗi Series có thể có một nhãn đặc biệt được gán cho nó.
Để tạo mới một DataFrame, ta có thể sử dụng hàm DataFrame() như sau:
import pandas as pd
# tạo một DataFrame từ một list các dictionary
data = [{'name': 'Alice', 'age': 25, 'city': 'New York'},
{'name': 'Bob', 'age': 30, 'city': 'San Francisco'},
{'name': 'Charlie', 'age': 35, 'city': 'Seattle'}]
df = pd.DataFrame(data)
print(df)
Output:
name age city
0 Alice 25 New York
1 Bob 30 San Francisco
2 Charlie 35 Seattle
Như ta đã thấy ở ví dụ trên, mỗi cột trong DataFrame có một nhãn (label) tương ứng với tên cột sau khi được gán từ danh sách các dictionary.
Ngoài ra, ta có thể tạo một DataFrame từ một 2-D ndarray:
import pandas as pd
import numpy as np
# tạo một DataFrame từ một 2-D ndarray
data = np.array([[1, 2, 3], [4, 5, 6]])
df = pd.DataFrame(data, columns=['a', 'b', 'c'])
print(df)
Output:
a b c
0 1 2 3
1 4 5 6
4. Các phương pháp chọn và lập chỉ mục dữ liệu trong DataFrame
4.1 Chọn và lập chỉ mục theo tên cột (label-based indexing)
Để chọn các cột trong DataFrame bằng tên (label), ta có thể sử dụng cú pháp như sau:
import pandas as pd
# tạo một DataFrame từ một list các dictionary
data = [{'name': 'Alice', 'age': 25, 'city': 'New York'},
{'name': 'Bob', 'age': 30, 'city': 'San Francisco'},
{'name': 'Charlie', 'age': 35, 'city': 'Seattle'}]
df = pd.DataFrame(data)
# chọn cột theo tên
print(df['name']) # output:
# 0 Alice
# 1 Bob
# 2 Charlie
# Name: name, dtype: object
Ngoài ra, ta có thể chọn nhiều cột bằng tên bằng cách truyền vào một danh sách các tên cột:
import pandas as pd
# tạo một DataFrame từ một list các dictionary
data = [{'name': 'Alice', 'age': 25, 'city': 'New York'},
{'name': 'Bob', 'age': 30, 'city': 'San Francisco'},
{'name': 'Charlie', 'age': 35, 'city': 'Seattle'}]
df = pd.DataFrame(data)
# chọn nhiều cột theo tên
print(df[['name', 'age']]) # output:
# name age
# 0 Alice 25
# 1 Bob 30
# 2 Charlie 35
4.2 Chọn và lập chỉ mục theo vị trí (position-based indexing)
Để chọn các cột trong DataFrame bằng vị trí, ta có thể sử dụng cú pháp như sau:
import pandas as pd
# tạo một DataFrame từ một list các dictionary
data = [{'name': 'Alice', 'age': 25, 'city': 'New York'},
{'name': 'Bob', 'age': 30, 'city': 'San Francisco'},
{'name': 'Charlie', 'age': 35, 'city': 'Seattle'}]
df = pd.DataFrame(data)
# chọn cột theo vị trí
print(df.iloc[:, 0]) # output:
# 0 Alice
# 1 Bob
# 2 Charlie
# Name: name, dtype: object
Ngoài ra, ta có thể chọn nhiều cột bằng vị trí bằng cách truyền vào một danh sách các vị trí:
import pandas as pd
# tạo một DataFrame từ một list các dictionary
data = [{'name': 'Alice', 'age': 25, 'city': 'New York'},
{'name': 'Bob', 'age': 30, 'city': 'San Francisco'},
{'name': 'Charlie', 'age': 35, 'city': 'Seattle'}]
df = pd.DataFrame(data)
# chọn nhiều cột theo vị trí
print(df.iloc[:, [0, 1]]) # output:
# name age
# 0 Alice 25
# 1 Bob 30
# 2 Charlie 35
5. Kết luận
Trên đây là những kiến thức cơ bản về chọn và lập chỉ mục dữ liệu trong Python Pandas. Việc nắm vững các phương pháp này sẽ giúp cho việc xử lý dữ liệu trở nên dễ dàng, nhanh chóng và chính xác hơn. Nếu bạn đang làm việc với Python Pandas, hãy cùng thực hành những kiến thức đã học để tăng cường kỹ năng xử lý dữ liệu của mình. Chúc may mắn và thành công!
Học bài tiếp theo: Các bước thực hiện thao tác dữ liệu với Pandas trong Python
Quay về trang chủ của khoá học: Python Pandas – Thao tác và phân tích dữ liệu

