如何使用'%matplotlib inline'运行Python代码?

时间:2019-04-15 11:05:11

标签: python

我刚刚在https://www.analyticsvidhya.com/blog/2018/10/predicting-stock-price-machine-learningnd-deep-learning-techniques-python/阅读了一篇文章,因此我想按照它进行测试。

我下载了Python,然后将代码的第一部分复制到.py文件中,如下所示:

    #import packages
    import pandas as pd
    import numpy as np

    #to plot within notebook
    import matplotlib.pyplot as plt
    %matplotlib inline

    #setting figure size
    from matplotlib.pylab import rcParams
    rcParams['figure.figsize'] = 20,10

    #for normalizing data
    from sklearn.preprocessing import MinMaxScaler
    scaler = MinMaxScaler(feature_range=(0, 1))

    #read the file
    df = pd.read_csv('NSE-TATAGLOBAL(1).csv')

    #print the head
    df.head()

但是运行它时,我在代码行上收到“无效语法”错误:

    %matplotlib inline

在搜索了问题之后,我知道%xxx是一个魔术命令,应该与IPython一起运行。因此,我尝试下载Anaconda并将其安装在我的计算机上。但是,当我尝试在Spyder中运行脚本时(我相信这是针对IPython的),我仍然遇到相同的错误。

如何运行本文中的脚本?

谢谢

4 个答案:

答案 0 :(得分:1)

IPython提供的一个特别有趣的后端是内联后端。此功能仅适用于Jupyter Notebook和Jupyter QtConsole。可以按如下方式调用它:

%matplotlib内联

在此后端中,绘图命令的输出在Jupyter笔记本之类的前端内联显示,直接位于生成它的代码单元下方。生成的图也将存储在笔记本文档中。

如果您不使用诸如jupyter笔记本之类的前端,只需删除“%***** inline”

答案 1 :(得分:0)

直接安装jupyter,而无需安装anaconda或spyder

只需打开cmd或powershell,然后打开python -m pip install --upgrade pip

然后打开jupyter笔记本,再次打开cmd或powershell并键入jupyter notebook

这时您应该可以运行文章代码。 更多help

或从代码中删除%matplotlib inline

答案 2 :(得分:0)

指令%matplotlib inline不是Python,它是Jupyter Notebook指令。如果您使用的是其他解释器,则该解释器不会执行,只会导致语法错误。

这在Purpose of "%matplotlib inline"中进行了解释。

答案 3 :(得分:0)

说明:

%matplotlib inline 

iPython和Jupyter Notebook / Lab中使用的魔术命令,无需调用.show()函数即可显示图。

方法:

如果您想执行该代码而不进行任何更改,则可以执行以下操作:

conda update -n base -c defaults conda
conda create -n mlenv python=3.6 pandas scikit-learn jupyter

这将更新conda并创建一个名为mlenv的环境,该环境具有Python 3.6和熊猫,scikit-learn和Jupyter工具。使用conda安装Pandas将自动安装numpy和matplotlib。 jupyter安装将添加iPython和Jupyter Lab&Notebook。

您现在可以激活并开始编码:

conda activate mlenv
ipython -i name_of_file.py

这将执行并输入您的文件。

在文件或父文件夹的位置,您还可以运行:

jupyter lab

这将打开一个Web服务器,您可以在其中逐个单元交互式地执行代码。

希望这会有所帮助