如何在 python 中获取 DataFrame 的原始版本?

在处理 DataFrame 时,碰巧我更改了一列的值。然后,我意识到它影响了我的 DataFrame。


print(df) #Before applying the change


    A   B

0   3   5

1   9   6

2   4   7


print(df) #After applying the change


    A   B

0   3   0

1   9   0

2   4   0

然后,我使用方法 (df._is_view) 查看我的 df 是视图还是副本,结果输出是:Flase。


那么,有没有办法获得我原来的 DataFrame(在我进行更改之前)。


提前致谢。


慕娘9325324
浏览 128回答 1
1回答

慕斯王

简短的回答是否定的。复制的数据帧不维护指向它们作为副本的源数据帧的指针。如果您的数据框是具有自己标识符的对象的副本,那么数据当然仍会保留在那里:>>> df_orig = pd.DataFrame({'A': [3, 9, 4], 'B': [5, 6, 7]})>>> df = df_orig.copy()>>> df['B'] = 0>>> df._is_viewFalse在这种情况下,df_orig仍然会有你的数据。但是,如果您没有指向数据的变量,那您就不走运了。希望这可以帮助!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python