在處理 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
提交
取消