熊猫:fillna没有按预期工作

时间:2016-12-30 16:50:07

标签: python pandas dataframe

我有一个包含很多NAN值的数据框:

df = pd.read_csv(文件路径)

df看起来像:

x001    x002    x003    x004    x005    x006    x007    x008    x009    x010    ... x296    x297    x298    x299    x300    x301    x302    x303    x304    y
0   1540332 NaN NaN NaN 8.0 1   0   1   0   0   ... 0   NaN 0   0   0   0   NaN 0   NaN 706

当我执行以下操作时:

df2 = df.fillna(lambda x: df.median())

df2看起来像:

x001    x002    x003    x004    x005    x006    x007    x008    x009    x010    ... x296    x297    x298    x299    x300    x301    x302    x303    x304    y
0   1540332 <function <lambda> at 0x110b48488>  <function <lambda> at 0x110b48488>  <function <lambda> at 0x110b48488>  8   1   0   1   0   0   ... 0   <function <lambda> at 0x110b48488>  0   0   0   0   <function <lambda> at 0x110b48488>  0   <function <lambda> at 0x110b48488>  706
 1  823066  4

我无法弄清楚为什么不用中位数替换NAN值,我看<function <lambda> at 0x110b48488>

p.s我也尝试过,但结果相同。

1 个答案:

答案 0 :(得分:1)

你不需要lambda功能。

df.fillna(df.mean())