Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีเพิ่มคอลัมน์ใหม่ใน DataFrame ของ Pandas ใน Python

ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีเพิ่มคอลัมน์ใหม่เข้าไปใน DataFrame ที่มีอยู่แล้วใน Pandas มีหลายวิธีในการทำ เราจะดูทีละวิธี

1. ใช้ List (รายการ)

เราสามารถเพิ่มคอลัมน์ใหม่โดยใช้ List ได้ ดังขั้นตอนต่อไปนี้:

ขั้นตอน

1. สร้าง DataFrame จาก Dictionary
2. สร้าง List ที่มีข้อมูลสำหรับคอลัมน์ใหม่ ต้องตรวจสอบให้ความยาวของ List เท่ากับจำนวนแถวใน DataFrame
3. เพิ่ม List เข้า DataFrame เหมือนกับการเพิ่ม key ใน Dictionary

ตัวอย่างโค้ด

import pandas as pd

# creating a DataFrame
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)
print('\n\n')

# creating a list for new column
places = ['Nellore', 'Mumbai', 'Andhra']

# adding the list to the dataframe as column
dataframe['Places'] = places

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

ผลลัพธ์

-----------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. ใช้ DataFrame.insert()

มีเมธอดสำเร็จรูปชื่อ insert() สำหรับเพิ่มคอลัมน์ใหม่ที่ตำแหน่งที่กำหนด

ขั้นตอน

1. สร้าง DataFrame จาก Dictionary
2. สร้าง List ข้อมูลคอลัมน์ใหม่ (ความยาวต้องเท่ากัน)
3. ใช้ DataFrame.insert(index, column_name, data) เพื่อแทรกคอลัมน์

ตัวอย่างโค้ด

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)
print('\n\n')

places = ['Nellore', 'Mumbai', 'Andhra']

# insert at index 2 (column position 3)
dataframe.insert(2, 'Places', places)

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

ผลลัพธ์

-----------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  Places Profession
0  Hafeez  19  Nellore  Pythoneer
1   Aslan  18   Mumbai  Programmer
2  Kareem  15   Andhra   Student

3. ใช้ DataFrame.assign()

เมธอดนี้รับอาร์กิวเมนต์เป็นคอลัมน์ใหม่และเพิ่มเข้าไปที่ท้าย DataFrame โดยคืนค่า DataFrame ใหม่ (ไม่แก้ไขตัวเดิม)

ขั้นตอน

1. สร้าง DataFrame จาก Dictionary
2. สร้าง List ข้อมูลคอลัมน์ใหม่
3. ใช้ DataFrame.assign(column_name = data) จะได้ DataFrame ใหม่ ต้องเก็บไว้ในตัวแปร
4. พิมพ์ DataFrame ใหม่

ตัวอย่างโค้ด

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)
print('\n\n')

places = ['Nellore', 'Mumbai', 'Andhra']

# assign returns new DataFrame
new_dataframe = dataframe.assign(Places=places)

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

ผลลัพธ์

-----------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

สรุป

มี 3 วิธีหลักในการเพิ่มคอลัมน์: การกำหนดโดยตรง (dataframe['col'] = list), insert() สำหรับแทรกที่ตำแหน่งเฉพาะ, และ assign() สำหรับสร้าง DataFrame ใหม่ หากมีข้อสงสัย สามารถถามได้ในส่วนความคิดเห็น