Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Thêm cột mới vào DataFrame hiện có trong Pandas (Python)

Trong Pandas, có nhiều cách để thêm cột mới vào DataFrame đã tồn tại. Hướng dẫn này trình bày 3 phương pháp phổ biến.

1. Sử dụng List

Gán trực tiếp một list vào key mới của DataFrame (giống dictionary). Độ dài list phải khớp số hàng.

Ví dụ

import pandas as pd

data = {
    'Name': ['Hafeez', 'Aslan', 'Kareem'],
    'Age': [19, 18, 15],
    'Profession': ['Pythoneer', 'Programmer', 'Student']
}
dataframe = pd.DataFrame(data)
print('-----------Before adding a new column----------')
print(dataframe)

places = ['Nellore', 'Mumbai', 'Andhra']
dataframe['Places'] = places  # thêm cột ở cuối

print('---------------After adding a new column------------')
print(dataframe)

Kết quả

-----------Before adding a new column----------
    Name  Age Profession
0  Hafeez   19  Pythoneer
1   Aslan   18  Programmer
2  Kareem   15    Student

---------------After adding a new column------------
    Name  Age Profession   Places
0  Hafeez   19  Pythoneer  Nellore
1   Aslan   18  Programmer   Mumbai
2  Kareem   15    Student   Andhra

2. Sử dụng DataFrame.insert()

Chèn cột tại vị trí chỉ định (index).

Ví dụ

# ... (tạo dataframe tương tự)
places = ['Nellore', 'Mumbai', 'Andhra']
dataframe.insert(2, 'Places', places)  # chèn tại vị trí index 2 (cột thứ 3)

print('---------------After adding a new column------------')
print(dataframe)

Kết quả

---------------After adding a new column------------
    Name  Age Places Profession
0  Hafeez   19  Nellore  Pythoneer
1   Aslan   18   Mumbai  Programmer
2  Kareem   15   Andhra    Student

3. Sử dụng DataFrame.assign()

Trả về DataFrame mới với cột thêm vào cuối. Không thay đổi DataFrame gốc.

Ví dụ

# ... (tạo dataframe tương tự)
places = ['Nellore', 'Mumbai', 'Andhra']
new_dataframe = dataframe.assign(Places=places)

print('---------------After adding a new column------------')
print(new_dataframe)

Kết quả

---------------After adding a new column------------
    Name  Age Profession   Places
0  Hafeez   19  Pythoneer  Nellore
1   Aslan   18  Programmer   Mumbai
2  Kareem   15    Student   Andhra

Tóm tắt

  • df['col'] = list: Thêm cột cuối, đơn giản.
  • df.insert(loc, 'col', list): Chèn tại vị trí cụ thể, sửa đổi inplace.
  • df.assign(col=list): Trả về bản sao mới, cột thêm ở cuối, phù hợp cho method chaining.