在处理 DataFrame 时,碰巧我更改了一列的值。然后,我意识到它影响了我的 DataFrame。print(df) #Before applying the change A B0 3 51 9 62 4 7print(df) #After applying the change A B0 3 01 9 02 4 0然后,我使用方法 (df._is_view) 查看我的 df 是视图还是副本,结果输出是:Flase。那么,有没有办法获得我原来的 DataFrame(在我进行更改之前)。提前致谢。
1 回答
慕斯王
TA贡献1864条经验 获得超2个赞
简短的回答是否定的。复制的数据帧不维护指向它们作为副本的源数据帧的指针。
如果您的数据框是具有自己标识符的对象的副本,那么数据当然仍会保留在那里:
>>> df_orig = pd.DataFrame({'A': [3, 9, 4], 'B': [5, 6, 7]})
>>> df = df_orig.copy()
>>> df['B'] = 0
>>> df._is_view
False
在这种情况下,df_orig仍然会有你的数据。但是,如果您没有指向数据的变量,那您就不走运了。希望这可以帮助!
添加回答
举报
0/150
提交
取消