修复明显的 Anaconda Python 腐败修复
Fixing Apparent Anaconda Python Corruption Fix
我在 Windows 7.0 Professional 中使用 Anaconda Python 2.7 在 Spyder 3.1.4 中进行开发。我也在使用 Pandas.
在对程序进行大量工作后,我遇到了一个一致的奇怪问题。 Python / Pandas 开始以相同的方式处理两个名称不同的相同数据帧。
我定义数据帧如下:
dfa = pd.DataFrame(np.empty(0,dtype=[('Date','datetime64[ns]'),
('column1', 'string'),
('column2','string'),
('column3','string')]))
我现在复制这个(空)数据框:
dfb = dfa
在此之后我附加到 dfa
如下:
dfa.loc[indexvalue,:] = ([item1,item2,item3....])
在涉及多次运行(以测试代码的其他部分)之前,此命令一直正常工作,同时此命令还开始以相同的方式更新 dfb
。使用 dfb
的类似操作会导致对 dfa
的相同更新
我不是软件包安装方面的专家,并且已经广泛检查了我的代码。这似乎是一个腐败。
有人可以建议如何最好地处理这个问题吗?我不想开始拆解我的 Anaconda 安装。如果这确实是对环境的破坏,那么 repair/reinstall Anaconda 和 Spyder 的最佳方法是什么?
提前致谢。
dfb = dfa
只是设置变量指向同一个对象。如果更新 dfa,则更新的对象与 dfb 相同。这就是 Pandas 的工作原理。
如果您真的想创建 dfa 的副本,请使用:
dfc = dfa.copy()
你如何检查你的变量是否指向数据帧的副本,它是否指向同一个数据帧:
dfb is dfa
True
dfc is dfa
False
这不是腐败。
我在 Windows 7.0 Professional 中使用 Anaconda Python 2.7 在 Spyder 3.1.4 中进行开发。我也在使用 Pandas.
在对程序进行大量工作后,我遇到了一个一致的奇怪问题。 Python / Pandas 开始以相同的方式处理两个名称不同的相同数据帧。
我定义数据帧如下:
dfa = pd.DataFrame(np.empty(0,dtype=[('Date','datetime64[ns]'),
('column1', 'string'),
('column2','string'),
('column3','string')]))
我现在复制这个(空)数据框:
dfb = dfa
在此之后我附加到 dfa
如下:
dfa.loc[indexvalue,:] = ([item1,item2,item3....])
在涉及多次运行(以测试代码的其他部分)之前,此命令一直正常工作,同时此命令还开始以相同的方式更新 dfb
。使用 dfb
的类似操作会导致对 dfa
我不是软件包安装方面的专家,并且已经广泛检查了我的代码。这似乎是一个腐败。
有人可以建议如何最好地处理这个问题吗?我不想开始拆解我的 Anaconda 安装。如果这确实是对环境的破坏,那么 repair/reinstall Anaconda 和 Spyder 的最佳方法是什么?
提前致谢。
dfb = dfa
只是设置变量指向同一个对象。如果更新 dfa,则更新的对象与 dfb 相同。这就是 Pandas 的工作原理。
如果您真的想创建 dfa 的副本,请使用:
dfc = dfa.copy()
你如何检查你的变量是否指向数据帧的副本,它是否指向同一个数据帧:
dfb is dfa
True
dfc is dfa
False
这不是腐败。