เราต้องการแทนที่ค่าลบด้วยค่าบวกก่อนหน้าล่าสุด ด้วยเหตุนี้ หากไม่มีค่าบวกนำหน้า ค่าควรอัปเดตเป็น 0
อินพุต
ตัวอย่างเช่น อินพุตคือ −
DataFrame: One two 0 -2 -3 1 4 -7 2 6 5 3 0 -9
ผลลัพธ์
ผลลัพธ์ควรเป็น −
One two 0 0 0 1 7 0 2 4 2 3 0 2
การมาสก์ Data Frame ใช้เพื่อแทนที่ค่าลบ ในการเติมค่าที่ขาดหายไป เราใช้การเติมแบบส่งต่อ ขั้นแรก ให้เราสร้างดาต้าเฟรมของแพนด้า -
# create pandas dataframe df = pd.DataFrame({'One': [-3, 7, 4, 0], 'two': [-6, -1, 2, -8]})
ให้เราทำการปิดบัง -
df = df.mask(df.lt(0)).ffill().fillna(0).astype('int32')
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
import pandas as pd # create pandas dataframe df = pd.DataFrame({'One': [-3, 7, 4, 0],'two': [-6, -1, 2, -8]}) # displaying the DataFrame print"DataFrame: \n",df # masking df = df.mask(df.lt(0)).ffill().fillna(0).astype('int32') # displaying the updated DataFrame print"\nUpdated DataFrame: \n",df
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
DataFrame: One two 0 -3 -6 1 7 -1 2 4 2 3 0 -8 Updated DataFrame: One two 0 0 0 1 7 0 2 4 2 3 0 2