python - 如何在 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 (在我做出改变之前)。
提前致谢。
解决方案
简短的回答是否定的。复制的数据帧不维护指向它们作为副本的源数据帧的指针。
如果您的数据框是具有自己标识符的对象的副本,那么数据当然仍会保留在那里:
>>> 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
仍然会有你的数据。但是,如果您没有指向数据的变量,那么您就不走运了。希望这可以帮助!
推荐阅读
- amazon-web-services - Elasticache Redis 集群模式已禁用和集群模式已启用
- reactjs - 关于使用 React 进行 Firebase 身份验证
- arrays - Powershell数组到csv
- java - 广播控制流和主流的排序
- kotlin-coroutines - ktor 服务器 - 何时移动到另一个协程上下文
- python-3.x - 为什么我们不需要导入任何模块来使用 python 中的 print()、input()、len()、int() 等函数
- javascript - MERN 堆栈中用于创建事件的 CRUD 操作(更新不起作用)
- button - 在 Godot 中制作动态按钮容器
- sql - 为什么我在使用 ROWS UNBOUNDED FOLLOWING 时收到错误消息?
- arangodb - 以顶点为中心的索引的奇怪行为