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

ใช้ฟังก์ชันกับทุกแถวใน Pandas DataFrame ใน Python


ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับวิธีการทั่วไปของ รายการ เช่น ต่อท้าย () และ ขยาย() . มาดูกันทีละตัว

สมัคร()

ใช้เพื่อใช้ฟังก์ชันกับทุกแถวของ DataFrame ตัวอย่างเช่น หากเราต้องการคูณตัวเลขทั้งหมดจากแต่ละจำนวนและเพิ่มเป็นคอลัมน์ใหม่ วิธีการ Apply() ก็มีประโยชน์ เรามาดูวิธีต่างๆ ในการบรรลุเป้าหมายกัน

ตัวอย่าง

# importing the pandas package
import pandas as pd
# function to multiply
def multiply(x, y):
   return x * y
# creating a dictionary for DataFrame
data = {
   'Maths': [10, 34, 53],
   'Programming': [23, 12, 43]
}
# creating DataFrame using the data
data_frame = pd.DataFrame(data)
# displaying DataFrame
print('--------------------Before------------------')
print(data_frame)
print()
# applying the function multiply
data_frame['Multiply'] = data_frame.apply(lambda row : multiply(row['Maths'], row['
Programming']), axis = 1)
# displaying DataFrame
print('--------------------After------------------')
print(data_frame)

ผลลัพธ์

หากคุณเรียกใช้โปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

--------------------Before------------------
Maths Programming
0 10 23
1 34 12
2 53 43
--------------------After------------------
Maths Programming Multiply
0 10 23 230
1 34 12 408
2 53 43 2279

ตัวอย่าง

นอกจากนี้เรายังสามารถใช้ฟังก์ชันที่กำหนดไว้ล่วงหน้า เช่น sum, pow, ฯลฯ..,

# importing the pandas package
import pandas as pd
# creating a dictionary for DataFrame
data = {
   'Maths': [10, 34, 53],
   'Programming': [23, 12, 43]
}
# creating DataFrame using the data
data_frame = pd.DataFrame(data)
# displaying DataFrame
print('--------------------Before------------------')
print(data_frame)
print()
# applying the function multiply
# using built-in sum function
data_frame['Multiply'] = data_frame.apply(sum, axis = 1)
# displaying DataFrame
print('--------------------After------------------')
print(data_frame)

ผลลัพธ์

หากคุณเรียกใช้โปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

--------------------Before------------------
Maths Programming
0 10 23
1 34 12
2 53 43
--------------------After------------------
Maths Programming Multiply
0 10 23 33
1 34 12 46
2 53 43 96

ตัวอย่าง

เรายังสามารถใช้ฟังก์ชันจากโมดูล numpy ได้อีกด้วย มาดูตัวอย่างกัน

# importing the pandas package
import pandas as pd
# importing numpy module for functions
import numpy as np
# creating a dictionary for DataFrame
data = {
   'Maths': [10, 34, 53],
   'Programming': [23, 12, 43]
}
# creating DataFrame using the data
data_frame = pd.DataFrame(data)
# displaying DataFrame
print('--------------------Before------------------')
print(data_frame)
print()
# applying the function multiply
# using sum function from the numpy module
data_frame['Multiply'] = data_frame.apply(np.sum, axis = 1)
# displaying DataFrame
print('--------------------After------------------')
print(data_frame)

ผลลัพธ์

หากคุณเรียกใช้โปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

--------------------Before------------------
Maths Programming
0 10 23
1 34 12
2 53 43
--------------------After------------------
Maths Programming Multiply
0 10 23 33
1 34 12 46
2 53 43 96

บทสรุป

ด้วยวิธีข้างต้น เราสามารถใช้ apply() เมธอดของ DataFrame เพื่อใช้ฟังก์ชันสำหรับแถวทั้งหมด หากคุณมีข้อสงสัยเกี่ยวกับบทแนะนำ โปรดระบุในส่วนความคิดเห็น