Python - 在 Pandas DataFrame 中用最新的前一个正值替换负值
我们想用最新的前一个正值替换负值。这样,如果前面没有正值,则该值应更新为 0。
输入
例如,输入是 -
DataFrame:输出结果One two
0 -2 -3
1 4 -7
2 6 5
3 0 -9
输出应该是 -
One two0 0 0
1 7 0
2 4 2
3 0 2
数据框屏蔽用于替换负值。为了填充缺失值,我们使用了正向填充。首先,让我们创建熊猫数据框 -
# 创建熊猫数据框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输出结果# 创建熊猫数据框
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
以上是 Python - 在 Pandas DataFrame 中用最新的前一个正值替换负值 的全部内容, 来源链接: utcz.com/z/353573.html