Chúng tôi muốn thay thế các giá trị âm bằng giá trị dương trước đó mới nhất. Cùng với đó, nếu không có giá trị dương trước thì giá trị sẽ cập nhật thành 0.
Đầu vào
Ví dụ:đầu vào là -
DataFrame: One two 0 -2 -3 1 4 -7 2 6 5 3 0 -9
Đầu ra
Đầu ra phải là -
One two 0 0 0 1 7 0 2 4 2 3 0 2
Mặt nạ Data Frame được sử dụng để thay thế các giá trị âm. Để điền vào các giá trị còn thiếu, chúng tôi đã sử dụng điền vào phía trước. Đầu tiên, chúng ta hãy tạo khung dữ liệu gấu trúc -
# create pandas dataframe df = pd.DataFrame({'One': [-3, 7, 4, 0], 'two': [-6, -1, 2, -8]})
Hãy để chúng tôi thực hiện việc đắp mặt nạ -
df = df.mask(df.lt(0)).ffill().fillna(0).astype('int32')
Ví dụ
Sau đây là mã -
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
Đầu ra
Điều này sẽ tạo ra kết quả sau -
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