链接方法时 Jupyter Notebook 中的自动完成

Autocompletion in a Jupyter Notebook when chaining methods

在 Python 3 Jupyter Notebook 中,TAB 自动完成功能仅适用于对象上调用的第一个方法。对于所有后续方法,TAB 键均无效。 我经常使用方法链接,因此自动完成对我来说大部分时间都不起作用。

我尝试安装 nbextensions 并尝试使用 Hinterland,但显然它对我的问题没有帮助

例如:

import pandas as pd

df_ex = pd.DataFrame({
    "City": ['Cincinati', 'Milwaukee', 'Philadelphie', 'Chicago', 'Phoenix'],
    "Size": [500.15, 600.25, 700.50, 800.05, 900.9],
    "Score": [10, 20, 30, 40, 50]})

df_ex.get_dtype_counts().sum()

此处 TAB 自动完成仅适用于 get_dtype_counts() 方法,但不适用于 sum() 方法

作为一个 Python 初学者,自动完成功能对我来说也很有用,可以让我知道在某个点可以调用的所有方法是什么。 有没有办法使自动完成工作或至少获得我已经调用对象的第一个方法后可以调用的方法(和属性)的列表。

刚刚找到一个建议,问题的根源可能是 ipython 应该升级了。

从命令提示符我 运行:pip install --upgrade ipython 并报告了以下升级:

  • ipython - 从 6.5.0 到 7.4.0,
  • 提示工具包 - 从 1.0.15 到 2.0.9。

然后我重新启动了 Jupyter,尝试了你的例子和 Tab 完成 有效,也适用于链式方法(至少在我的电脑上)。

之前没有,所以显然这次升级有所帮助。