Pandas: วิธีอัปเดตค่าในแถว
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่ออัปเดตค่าใน Pandas DataFrame ในขณะที่ใช้ iterrows :
for i, row in df. iterrows ():
points_add = 10
if row[' points '] > 15:
points_add = 50
df. at [i,' points '] = points_add
ตัวอย่างเฉพาะนี้จะวนซ้ำแต่ละแถวของ DataFrame และอัปเดตค่าในคอลัมน์จุดเป็น 50 หากค่าปัจจุบันมากกว่า 15
หากค่าปัจจุบันน้อยกว่าหรือเท่ากับ 15 ค่าจะถูกอัพเดตเป็น 10
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: อัปเดตค่าใน Pandas DataFrame เป็นแถว
สมมติว่าเรามี DataFrame แพนด้าต่อไปนี้ซึ่งแสดงจำนวนคะแนนที่ผู้เล่นบาสเก็ตบอลแต่ละคนทำได้:
import pandas as pd #createDataFrame df = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'], ' points ': [10, 12, 14, 15, 15, 15, 16, 17, 20]}) #view DataFrame print (df) player points 0 to 10 1 B 12 2 C 14 3 D 15 4 E 15 5 F 15 6 G 16 7:17 a.m. 8 I 20
สมมติว่าเราต้องการอัปเดตค่าในคอลัมน์คะแนนโดยใช้ตรรกะต่อไปนี้:
- หากคะแนนน้อยกว่าหรือเท่ากับ 15 ให้อัปเดตค่าเป็น 10
- หากคะแนนมากกว่า 15 ให้อัปเดตค่าเป็น 50
เราสามารถใช้ฟังก์ชัน iterrows เพื่อวนซ้ำแต่ละแถวของ DataFrame และทำการอัปเดตเหล่านี้:
#iterate over each row in DataFrame and update values in points column
for i, row in df. iterrows ():
points_add = 10
if row[' points '] > 15:
points_add = 50
df. at [i,' points '] = points_add
#view updated DataFrame
print (df)
player points
0 to 10
1 B 10
2 C 10
3 D 10
4 E 10
5 F 10
6 G 50
7:50 a.m.
8 I 50
เราจะเห็นว่าค่าในคอลัมน์คะแนนได้รับการอัปเดตตามนั้น
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน pandas iterrows() ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:
นุ่น: วิธีนำทางคอลัมน์
นุ่น: วิธีเลือกแถวระหว่างสองค่า
Pandas: อัปเดตค่าคอลัมน์ตาม DataFrame อื่น