通过链式索引器进行分配

时间:2016-05-28 00:14:01

标签: python pandas

我希望能够通过链式索引器分配给DataFrame。理论上这样:

subset = df.loc[mask]
... # much later
subset.loc[mask2, 'column'] += value

这不起作用,因为据我所知,第二个.loc触发了写时复制。有没有办法做到这一点?

我可以传递dfmask,以便后面的代码可以在进行作业之前将maskmask2结合起来,但是能够传递的感觉要清晰得多取而代之的是subset视图,以便后面的代码只需要担心它自己的掩码。

1 个答案:

答案 0 :(得分:0)

到达时:

subset.loc[mask2, 'column']

将其分配给另一个子集,以便您可以访问其索引和列属性。

subsubset = subset.loc[mask2, 'column']

然后您可以使用subsubset的索引和列

访问df
df.loc[subsubset.index, subsubset.columns] += 1