Chuyển đến nội dung chính

Hướng dẫn Thêm Cột trong Pandas

Bạn không bao giờ bị bó buộc chỉ với dữ liệu hiện có. Thay vào đó, bạn có thể thêm các cột mới vào DataFrame.
Đã cập nhật 5 thg 10, 2026  · 4 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Bạn không bao giờ bị bó buộc chỉ với dữ liệu hiện có. Thay vào đó, bạn có thể thêm các cột mới vào một DataFrame. Việc này có nhiều cách gọi, như chuyển đổi, biến đổi và kỹ thuật đặc trưng.

Bạn có thể tạo các cột mới từ đầu, nhưng cũng rất phổ biến là suy ra chúng từ các cột khác, ví dụ bằng cách cộng các cột lại với nhau hoặc đổi đơn vị đo.

Suy ra một cột

Dùng một bộ dữ liệu về chó, giả sử bạn muốn thêm một cột mới vào DataFrame để có chiều cao của mỗi con chó tính theo mét thay vì centimét.

Ở vế trái của dấu bằng, bạn dùng ngoặc vuông với tên cột mới muốn tạo, trong trường hợp này là height_m. Ở vế phải là phép tính.

dogs["height_m"] = dogs["height_cm"] / 100
print(dogs)
        name        breed   color   height_cm   weight_kg   date_of_birth   height_m
0      Bella     Labrador   Brown          56          24      2013-07-01       0.56
1    Charlie       Poodle   Black          43          24      2016-09-16       0.43
2       Lucy    Chow Chow   Brown          46          24      2014-08-25       0.46
3     Cooper    Schnauzer    Gray          49          17      2016-09-16       0.49
4        Max     Labrador   Black          59          29      2016-09-16       0.59
5     Stella    Chihuahua     Tan          18           2      2016-09-16       0.18
6     Bernie  St. Bernard   White          77          74      2016-09-16       0.77

Lưu ý rằng cả cột hiện có và cột suy ra đều nằm trong dataframe bạn đã chỉnh sửa.

Thêm một cột

Trong ví dụ này, bạn sẽ tính chỉ số khối chó (doggy mass index) và thêm nó làm một cột vào dataframe của bạn. BMI là viết tắt của chỉ số khối cơ thể, được tính bằng cân nặng theo kilogram chia cho bình phương chiều cao theo mét.

dogs["height_m"] = dogs["weight_kg"] / dogs["height_m"] ** 2
print(dogs.head())
        name        breed   color   height_cm   weight_kg   date_of_birth   height_m          bmi
0      Bella     Labrador   Brown          56          24      2013-07-01       0.56    76.530612
1    Charlie       Poodle   Black          43          24      2016-09-16       0.43   129.799892
2       Lucy    Chow Chow   Brown          46          24      2014-08-25       0.46   113.421550
3     Cooper    Schnauzer    Gray          49          17      2016-09-16       0.49    70.803832
4        Max     Labrador   Black          59          29      2016-09-16       0.59    83.309394

Một lần nữa, cột mới nằm ở vế trái dấu bằng, nhưng lần này phép tính của chúng ta liên quan đến hai cột.

Thêm một cột với nhiều thao tác

Sức mạnh thực sự của pandas thể hiện khi bạn kết hợp tất cả kỹ năng đã học. Hãy cùng tìm ra tên của những chú chó gầy và cao.

Đầu tiên, để xác định chó gầy, bạn lấy tập con gồm những con có BMI nhỏ hơn 100. Tiếp theo, bạn sắp xếp chiều cao theo thứ tự giảm dần để đưa những con chó gầy cao nhất lên đầu.

Cuối cùng, lần này bạn chỉ giữ lại những cột mình quan tâm.

bmi_lt_100 = dogs[dogs["bmi"] < 100]
bmi_lt_100_height = bmi_lt_100.short_values("height_cm", ascending=False)
bmi_lt_100_height[["name", "height_cm", "bmi"]]
        name      height_cm           bmi
4        Max             59     83.309394
0      Bella             56     76.530612
3     Cooper             49     70.803832
5     Stella             18     61.728395

Ở đây, bạn có thể thấy rằng Max là chú chó cao nhất với BMI dưới 100.

Ví dụ tương tác

Trong ví dụ dưới đây, bạn thêm một cột mới vào DataFrame homelessness, tên là total, chứa tổng của các cột individuals và family_members. Sau đó, thêm một cột khác vào homelessness, tên là p_individuals, chứa tỷ lệ người vô gia cư ở mỗi bang là cá nhân. Cuối cùng, in dataframe homelessness.

# Add total col as sum of individuals and family_members
homelessness["total"] = homelessness["individuals"] + homelessness["family_members"]

# Add p_individuals col as proportion of individuals
homelessness["p_individuals"] = homelessness["individuals"] / homelessness["total"]

# See the result
print(homelessness)

Khi chạy đoạn mã trên, bạn sẽ nhận được kết quả sau:

                region                 state  individuals  family_members  state_pop     total  p_individuals
0   East South Central               Alabama       2570.0           864.0    4887681    3434.0          0.748
1              Pacific                Alaska       1434.0           582.0     735139    2016.0          0.711
2             Mountain               Arizona       7259.0          2606.0    7158024    9865.0          0.736
3   West South Central              Arkansas       2280.0           432.0    3009733    2712.0          0.841
4              Pacific            California     109008.0         20964.0   39461588  129972.0          0.8
...
48      South Atlantic         West Virginia       1021.0           222.0    1804291    1243.0          0.821
49  East North Central             Wisconsin       2740.0          2167.0    5807406    4907.0          0.558
50            Mountain               Wyoming        434.0           205.0     577601     639.0          0.679

Tự bạn thử nhé.

Hãy xem thêm hướng dẫn của DataCamp về Cách Xóa Cột trong Pandas.

Để tìm hiểu thêm về việc thêm cột mới trong pandas, vui lòng xem video này từ khóa học Data Manipulation with pandas của chúng tôi.

Nội dung này được trích từ khóa học Data Manipulation with pandas của DataCamp do Maggie Matsui và Richie Cotton biên soạn.

Chủ đề
Python

Tìm hiểu thêm về Python và pandas

Khóa học

Xử lý dữ liệu với pandas

4 giờ
567.9K
Tìm hiểu cách nhập và làm sạch dữ liệu, tính toán thống kê và tạo trực quan hóa với pandas.
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm