我有一个大型数据帧(10米行,40列,7GB内存).我想创建一个视图,以便为表达复杂的视图创建一个简写名称,而不向内存使用添加另外2-4 GB.换句话说,我宁愿输入:
df2
Run Code Online (Sandbox Code Playgroud)
比:
df.loc[complicated_condition, some_columns]
Run Code Online (Sandbox Code Playgroud)
该文档指出,虽然使用.loc确保设置值修改原始数据帧,但仍无法保证返回的对象.loc是视图还是副本.
我知道我可以将条件和列列表分配给变量(例如df.loc[cond, cols]),但我通常很想知道是否可以创建数据帧的视图.
编辑:相关问题:
您通常无法返回视图。
您的答案在 pandas 文档中: return-a-view-versus-a-copy。
每当索引操作中涉及标签数组或布尔向量时,结果将是一个副本。使用单标签/标量索引和切片,例如 df.ix[3:6] 或 df.ix[:, 'A'],将返回一个视图。
在以下帖子中找到了这个答案:链接。