Python - 用 Pandas DataFrame 的最新正值替换负值
我们希望用最新正值替换所有负值。如果之前没有正值,则将该值更新为 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
我们使用数据帧掩码来替换负值。为了填充缺失值,我们使用了前向填充。首先,让我们创建一个 pandas 数据帧 −
# 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP