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

จะทำการหารจำนวนเต็มของ pandas Series โดยรายการ Python ได้อย่างไร


การดำเนินการหารจำนวนเต็มยังสามารถนำไปใช้กับองค์ประกอบของซีรีส์แพนด้าด้วยลำดับ Python อื่น เช่น รายการหรือทูเพิล

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

เราจะพูดถึงตัวอย่างบางส่วนเพื่อทำความเข้าใจว่าเมธอด floordiv() ดำเนินการแบ่งจำนวนเต็มกับองค์ประกอบของซีรีส์แพนด้าโดยองค์ประกอบของรายการ Python อย่างไร

ตัวอย่างที่ 1

ด้านล่างนี้คือตัวอย่างเพื่อทำความเข้าใจประสิทธิภาพของเมธอด floordiv() ที่เกี่ยวข้องกับการดำเนินการหารจำนวนเต็ม

import pandas as pd

# create pandas Series
s = pd.Series({'A':None,'B':58,"C":85, "D":28, 'E':np.nan, 'G':60 })

print("Series object:",s)

# apply floordiv() using a list of integers
print("Output:")
print(s.floordiv(other=[18, 16, 9, 15, 14, 6]))

คำอธิบาย

ใช้ฟังก์ชัน floordiv() เพื่อดำเนินการแบ่งส่วนพื้นของอ็อบเจกต์ซีรีส์ "s" ด้วยรายการไพธอน ออบเจ็กต์ซีรีส์ที่กำหนด “s” มีค่าที่ขาดหายไปบางส่วนที่ตำแหน่งดัชนี “A” และ “E”

ผลลัพธ์

คุณจะได้ผลลัพธ์ดังต่อไปนี้ -

Series object:
A    NaN
B    58.0
C    85.0
D    28.0
E    NaN
G    60.0
dtype: float64

Output:
A    NaN
B    3.0
C    9.0
D    1.0
E    NaN
G    10.0
dtype: float64

ในเอาต์พุตบล็อกด้านบน เมธอดได้ส่งคืนผลลัพธ์ของการแบ่งพื้นของอ็อบเจ็กต์ซีรีส์ที่กำหนดด้วยรายการไพธอนสำเร็จ และค่าที่หายไปยังคงอยู่ในผลลัพธ์ของเมธอด floordiv() เนื่องจากเราไม่ได้นำค่าใดๆ ไปใช้กับพารามิเตอร์ fill_value

ตัวอย่างที่ 2

สำหรับตัวอย่างก่อนหน้านี้ เราจะใช้การดำเนินการหารจำนวนเต็มโดยแทนที่ค่าที่หายไปโดยใช้พารามิเตอร์ fill_value

import pandas as pd

# create pandas Series
s = pd.Series({'A':None,'B':58,"C":85, "D":28, 'E':np.nan, 'G':60 })

print("Series object:",s)

# apply floordiv() using a list of integers by replacing missing values
print("Output:")
print(s.floordiv(other=[18, 16, 9, 15, 14, 6], fill_value=20))

ผลลัพธ์

ผลลัพธ์จะได้รับด้านล่าง -

Series object:
A    NaN
B    58.0
C    85.0
D    28.0
E    NaN
G    60.0
dtype: float64

Output:
A    1.0
B    3.0
C    9.0
D    1.0
E    1.0
G    10.0
dtype: float64

ขณะเรียกใช้โค้ดด้านบน ค่าที่หายไปจะถูกแทนที่ด้วยค่าสเกลาร์ 20 และผลลัพธ์ของการดำเนินการแบ่งพื้นจะแสดงในบล็อกเอาต์พุตด้านบน