Jupyter Notebook中无法查看dt访问器下的全部方法
解决Jupyter Notebook中pandas dt访问器自动补全失效的问题
我之前也碰到过一模一样的糟心事!明明确认了日期列是datetime类型,但敲完.dt按Tab就是刷不出方法列表,给你几个亲测有效的解决办法:
先确认列的真实数据类型
你说列是timestamp对象,但有可能它的dtype是object而不是pandas专属的datetime64[ns]。先跑这条命令确认:print(df['你的日期列名'].dtype)如果输出是
object,先把列转成pandas的datetime类型:df['你的日期列名'] = pd.to_datetime(df['你的日期列名'])转完再试
.dt+Tab补全。升级相关依赖版本
旧版本的pandas或者IPython/Jupyter确实存在dt访问器补全的bug,执行下面的命令升级到稳定版:pip install --upgrade pandas ipython jupyter升级完一定要重启Jupyter Notebook。
重启Jupyter内核
有时候内核跑久了会积累缓存问题,直接点Jupyter顶部的「Kernel」→「Restart Kernel...」,重启后重新运行代码再试补全,很多时候这招就能解决问题。开启IPython的贪婪补全模式
在代码单元格里运行这条命令:%config IPCompleter.greedy=True这个会让补全策略更灵敏,有时候默认设置会漏掉dt访问器的方法。
小技巧:先把dt访问器赋值给变量
要是上面的方法都不管用,可以试试先把.dt的结果存成变量,再对变量用Tab补全:dt_accessor = df['你的日期列名'].dt dt_accessor. # 这里按Tab试试
我当初是升级pandas加重启内核搞定的,希望这些方法能帮到你!
内容的提问来源于stack exchange,提问作者AAKASH RAJU Udasi
相关产品推荐
相关产品推荐

