เราต้องการแทนที่ค่าลบด้วยค่าบวกก่อนหน้าล่าสุด ด้วยเหตุนี้ หากไม่มีค่าบวกนำหน้า ค่าควรอัปเดตเป็น 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