ใช้ np.isinf() ร่วมกับ .any(axis=1) เพื่อสร้าง boolean mask แถวที่มีค่า infinity อย่างน้อยหนึ่งคอลัมน์ แล้วใช้ดัชนี (index) เพื่อดึงหมายเลขแถว
ตัวอย่างโค้ด
import pandas as pd
import numpy as np
d = {"Reg_Price": [7000.5057, np.inf, 5000, np.inf, 9000.75768, 6000, 900, np.inf]}
df = pd.DataFrame(d)
print("DataFrame:\n", df)
# นับค่า infinity
inf_count = np.isinf(df).values.sum()
print(f"\nจำนวนค่า Infinity: {inf_count}")
# หาดัชนีแถวที่มี infinity
inf_rows = df.index[np.isinf(df).any(axis=1)]
print("\nดัชนีแถวที่มีค่า Infinity:\n", inf_rows)
ผลลัพธ์
DataFrame:
Reg_Price
0 7000.505700
1 inf
2 5000.000000
3 inf
4 9000.757680
5 6000.000000
6 900.000000
7 inf
จำนวนค่า Infinity: 3
ดัชนีแถวที่มีค่า Infinity:
Int64Index([1, 3, 7], dtype='int64')
แถวที่ 1, 3, 7 มีค่า infinity ในคอลัมน์ Reg_Price