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 อื่น

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *