3

有没有办法对不是的值使用ffill方法NaN

NaN在我的数据框中,但我已经添加了这些NaN使用

addNan = sample['colA'].replace(['A'], 'NaN')

所以这就是我的DataFrame,df看起来像

ColA  ColB  ColC  ColD
 B      A     A    C
 NaN    B     A    A
 C      D     D    A
 NaN    A     A    B

我正在尝试使用 填充这些NaNffill因此它们由最后一个已知值填充。

fill = df.fillna(method='ffill', inplace = True)

这没有什么区别,也试过Na代替NaN

4

1 回答 1

1

我认为您需要先替换NaNnp.nan,因为NaN只有文本:

import pandas as pd
import numpy as np

print (sample)
  ColA ColB ColC ColD
0    B    A    A    C
1    A    B    A    A
2    C    D    D    A
3    A    A    A    B

sample['ColA'] = sample['ColA'].replace(['A'], np.nan)
print (sample)
  ColA ColB ColC ColD
0    B    A    A    C
1  NaN    B    A    A
2    C    D    D    A
3  NaN    A    A    B

如果使用inplace = True,则返回None,但替换填充值:

sample.fillna(method='ffill', inplace = True)
#sample.ffill(inplace = True)
print (sample)
  ColA ColB ColC ColD
0    B    A    A    C
1    B    B    A    A
2    C    D    D    A
3    C    A    A    B
于 2016-08-12T10:16:19.830 回答