python里面的forward_在Python熊猫中将Forwardfill与计算(method =’ff...

我需要用计算来填充NaN空间,这取决于dataframe = df中的先前值.我到目前为止所拥有的是:

df = pd.DataFrame({'a': [None] * 6, 'b': [2, 3, 10, 3, 5, 8]})

df["c"] =np.NaN

df["c"][0] = 1

df["c"][2] = 3

i = 1

while i<10:

df.c.fillna(df.c.shift(i)*df.b,inplace=True)

i+1

不幸的是,使用while循环的解决方案不起作用,对于熊猫来说无疑是非常糟糕的解决方案.所以我在寻找一种

df.c.fillna(method='ffill'*df.b,inplace=True)

我知道这也不起作用,我只是认为这样可以使我更清楚地找到想要的东西.

在填充数据框之前,它看起来像这样:

b c

0 2 1

1 3 NaN

2 10 3

3 3 NaN

4 5 NaN

5 8 NaN

预期的结果应如下所示:

b c

0 2 1 # nothing filled in since data is set from df["c"][0] = 1

1 3 3 # fill in previous c * b = 1 * 3 = 3

2 10 3 # nothing filled in since data is set from df["c"][2] = 3

3 3 9 # fill in previous c * b = 3 * 3 = 9

4 5 45 # fill in previous c * b = 9 * 5 = 45

5 8 360 # fill in previous c * b = 45 * 8 = 360

基本上就是这样:如果没有可用的数据,则应填充一个计算.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值