df.interpolate(inplace = True)如何运作?

时间:2015-03-13 14:48:44

标签: pandas dataframe filter inplace-editing

我无法理解其功能如何。使用inplace = True,函数不输出任何内容,原始df保持不变。这是如何工作的?

很抱歉,我写了'过滤器'在我的第一篇文章中。那是一个非常愚蠢的错误。

正如@Alex要求的那样,示例如下:

df = pd.DataFrame(np.random.randn(4,3), columns=map(chr, range(65,68)))
df['B'] = np.nan
print df
print df.interpolate(axis=1)
print df
print df.interpolate(axis=1, inplace=True)
print df

输出如下:

     A       B         C
0 -0.956273 NaN  0.919723
1  1.127298 NaN -0.585326
2 -0.045163 NaN -0.946355
3 -1.375863 NaN -1.279663

      A         B         C
0 -0.956273 -0.018275  0.919723
1  1.127298  0.270986 -0.585326
2 -0.045163 -0.495759 -0.946355
3 -1.375863 -1.327763 -1.279663

      A   B         C
0 -0.956273 NaN  0.919723
1  1.127298 NaN -0.585326
2 -0.045163 NaN -0.946355
3 -1.375863 NaN -1.279663

None

      A   B         C
0 -0.956273 NaN  0.919723
1  1.127298 NaN -0.585326
2 -0.045163 NaN -0.946355
3 -1.375863 NaN -1.279663

如您所见,第一次插值创建了原始数据帧的副本。我想要的是插入和更新原始数据帧,所以我尝试了inplace,因为文档说明了以下内容:

inplace:bool,默认为False 如果可能,请更新NDFrame。

第二次插值没有返回任何值,也没有更新原始数据帧。所以我很困惑。

正如@joris所要求的,我的pandas版本是'0.15.1'。虽然这个要求是由于我的错误......

0 个答案:

没有答案