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

การหารจำนวนเต็ม (Integer Division) ของ pandas Series ด้วยลิสต์ Python

บทนำ

การหารจำนวนเต็ม (floor division) สามารถนำไปใช้กับ pandas Series กับลำดับข้อมูล Python อื่นๆ เช่น ลิสต์หรือทูเพิล ได้โดยใช้เมธอด floordiv()

เมธอด floordiv()

ใช้สำหรับการหารจำนวนเต็มแบบ element-wise ระหว่าง Series กับ Series, สเกลาร์ หรือ object แบบลิสต์

ตัวอย่างที่ 1: การหารพื้นฐาน

import pandas as pd
import numpy as np

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

# ใช้ floordiv() กับลิสต์จำนวนเต็ม
print("Output:")
print(s.floordiv(other=[18, 16, 9, 15, 14, 6]))

คำอธิบาย

Series "s" มีค่า missing ที่ index "A" และ "E" เมธอด floordiv() จะคงค่า NaN ไว้หากไม่ได้กำหนด fill_value

ผลลัพธ์ตัวอย่างที่ 1

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

ตัวอย่างที่ 2: ใช้ fill_value แทนค่า Missing

import pandas as pd
import numpy as np

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

# ใช้ floordiv() พร้อม fill_value=20
print("Output:")
print(s.floordiv(other=[18, 16, 9, 15, 14, 6], fill_value=20))

ผลลัพธ์ตัวอย่างที่ 2

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

ค่า missing ทั้งหมดถูกแทนที่ด้วย 20 ก่อนทำการหาร: 20 // 18 = 1, 20 // 14 = 1 เป็นต้น