我希望能够通过链式索引器分配给DataFrame。理论上这样:
subset = df.loc[mask]
... # much later
subset.loc[mask2, 'column'] += value
这不起作用,因为据我所知,第二个.loc触发了写时复制。有没有办法做到这一点?
我可以传递df
和mask
,以便后面的代码可以在进行作业之前将mask
和mask2
结合起来,但是能够传递的感觉要清晰得多取而代之的是subset
视图,以便后面的代码只需要担心它自己的掩码。
答案 0 :(得分:0)
到达时:
subset.loc[mask2, 'column']
将其分配给另一个子集,以便您可以访问其索引和列属性。
subsubset = subset.loc[mask2, 'column']
然后您可以使用subsubset的索引和列
访问df
df.loc[subsubset.index, subsubset.columns] += 1