muk*_*a90 2 python dataframe pandas spyder
我尝试从函数内覆盖全局定义的数据框。不知何故,全局值不会改变,在函数内打印数据帧可以使用预期值。
import pandas as pd
rawData = pd.read_csv("music.csv")
appTitles =pd.DataFrame #also with pd.DataFrame() wont get affected
def loadTitles(df=rawData):
global appTitles
appTitles = pd.DataFrame({'Title' : df['title']})
print(appTitles)
return appTitles #(second 'print' to screen)
#RUN FILE
#CALL FUNCTION: loadTitles() #-> No Variable appTitles
Run Code Online (Sandbox Code Playgroud)
变量资源管理器中的 appTitles 变量保持为空或不存在(取决于 pd.DataFrame/pd.DataFrame() 的使用)谢谢!
编辑: @4turkuaz 评论说在他的环境中一切都按预期工作后,我在 Windows cmd 中尝试了 Python 控制台,也在 Spyder3 上使用 Python 3.7.4 和 IPython 7.8.0 尝试了一切,一切都工作正常。
仅在带有 Python 3.7.5 和 IPython 7.10.1 的 Spyder4 上它不起作用。也许是一个错误?我不知道...
编辑:将 Spyder4 降级到 Python 3.7.4 和 IPython 7.8.0 并没有解决问题。我假设 Spyder4 或 Anaconca 环境中的某些内容即使我一遍又一遍地安装它也不正确。
(这里是 Spyder 维护者)你需要进入菜单
Run > Configuration per file
并激活名为 的选项Run in console's namespace instead of an empty one,以便您能够修改代码中的全局变量。
| 归档时间: |
|
| 查看次数: |
1523 次 |
| 最近记录: |