Pandas: วิธีแทนที่ inf ด้วย max value
คุณสามารถใช้วิธีการต่อไปนี้เพื่อแทนที่ค่า inf และ -inf ด้วยค่าสูงสุดใน Pandas DataFrame:
วิธีที่ 1: แทนที่ inf ด้วยค่าสูงสุดในคอลัมน์
#find max value of column max_value = np. nanmax (df[' my_column '][df[' my_column '] != np. inf ]) #replace inf and -inf in column with max value of column df[' my_column ']. replace ([np. inf , -np. inf ], max_value, inplace= True )
วิธีที่ 2: แทนที่ inf ด้วยค่าสูงสุดในทุกคอลัมน์
#find max value of entire data frame
max_value = np. nanmax (df[df != np.inf ])
#replace inf and -inf in all columns with max value
df. replace ([np. inf , -np. inf ], max_value, inplace= True )
ตัวอย่างต่อไปนี้แสดงวิธีการใช้ไวยากรณ์นี้ในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:
import pandas as pd
import numpy as np
#createDataFrame
df = pd. DataFrame ({' points ': [18, np.inf, 19, np.inf, 14, 11, 20, 28],
' assists ': [5, 7, 7, 9, 12, 9, 9, np.inf],
' rebounds ': [np.inf, 8, 10, 6, 6, -np.inf, 9, 12]})
#view DataFrame
print (df)
points assists rebounds
0 18.0 5.0 lower
1 lower 7.0 8.0
2 19.0 7.0 10.0
3 lower 9.0 6.0
4 14.0 12.0 6.0
5 11.0 9.0 -inf
6 20.0 9.0 9.0
7 28.0 lower 12.0
ตัวอย่างที่ 1: แทนที่ inf ด้วยค่าสูงสุดในคอลัมน์
รหัสต่อไปนี้แสดงวิธีแทนที่ค่า inf และ -inf ในคอลัมน์ตีกลับด้วยค่าสูงสุดในคอลัมน์ตีกลับ:
#find max value of rebounds
max_value = np. nanmax (df[' rebounds '][df[' rebounds '] != np. inf ])
#replace inf and -inf in rebounds with max value of rebounds
df[' rebounds ']. replace ([np. inf , -np. inf ], max_value, inplace= True )
#view updated DataFrame
print (df)
points assists rebounds
0 18.0 5.0 12.0
1 lower 7.0 8.0
2 19.0 7.0 10.0
3 lower 9.0 6.0
4 14.0 12.0 6.0
5 11.0 9.0 12.0
6 20.0 9.0 9.0
7 28.0 lower 12.0
โปรดทราบว่าแต่ละค่า inf และ -inf ในคอลัมน์ตีกลับจะถูกแทนที่ด้วยค่าสูงสุดในคอลัมน์นั้นคือ 12
ตัวอย่างที่ 2: แทนที่ inf ด้วยค่าสูงสุดในทุกคอลัมน์
รหัสต่อไปนี้แสดงวิธีแทนที่ค่า inf และ -inf ของแต่ละคอลัมน์ด้วยค่าสูงสุดของกรอบข้อมูลทั้งหมด:
#find max value of entire data frame
max_value = np. nanmax (df[df != np.inf ])
#replace all inf and -inf with max value
df. replace ([np. inf , -np. inf ], max_value, inplace= True )
#view updated DataFrame
print (df)
points assists rebounds
0 18.0 5.0 28.0
1 28.0 7.0 8.0
2 19.0 7.0 10.0
3 28.0 9.0 6.0
4 14.0 12.0 6.0
5 11.0 9.0 28.0
6 20.0 9.0 9.0
7 28.0 28.0 12.0
โปรดทราบว่าแต่ละค่า inf และ -inf ในแต่ละคอลัมน์จะถูกแทนที่ด้วยค่าสูงสุดในกรอบข้อมูลทั้งหมด 28
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:
วิธีใส่ค่าที่หายไปในแพนด้า
วิธีนับค่าที่หายไปในแพนด้า
วิธีเติมค่า NaN ด้วยค่าเฉลี่ยในหมีแพนด้า