我切换到 Emacs。我在 Emacs 中使用 Elpy 作为 IDE。我的设置是并排的窗口,左侧是一个缓冲区(脚本),我在其中编写/编辑代码,然后将其发送到右侧的 IPython shell Ctrl-Enter
。当我键入函数时:
import numpy as np
import pandas as pd
data = pd.read_csv('spx_index.csv')
def convert(x):
return x.ix[:, 1:].set_index(x.ix[:, 0])
进入脚本(4空格缩进)并按Ctrl-Enter
两次我得到:
>>> ... File "<stdin>", line 2
return x.ix[:, 1:].set_index(x.ix[:, 0])
^
IndentationError: expected an indented block
但是,当我复制函数并将其直接粘贴到 IPython shell 中时:
>>> def convert(x):
return x.ix[:, 1:].set_index(x.ix[:, 0])
... ...
>>>
它工作并且功能被保存。
让函数直接从脚本运行到 shell 将是理想的。我无法想象必须将每个函数复制并粘贴到 shell 中。