ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีเพิ่มคอลัมน์ใหม่เข้าไปใน 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 Andhra2. ใช้ 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 Student3. ใช้ 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 ใหม่ หากมีข้อสงสัย สามารถถามได้ในส่วนความคิดเห็น