我试图在pandas.tseries.holiday
中使用pandas
模块,但由于某种原因它没有显示出来。我尝试了以下方法:
import pandas as pd
pd.tseries.<TAB>
这确实给了我一个选项列表,但holiday
就在其中。根据{{1}}的文档,它应该像我上面尝试的一样简单。
这是我系统的Python。我在Jupyter中使用Anaconda,然后在终端甚至在Emacs中尝试过,但它从未被发现。所以它必须是我不知道的一般设计选择。我找到了线索,但我找到的所有信息都告诉我,导入整个模块或部分模块是一个主观选择 - 例如:readability versus name-space pollution等。
最后我尝试手动导入它(下一步是从pandas git repository下载实际的holiday
文件。
所以我做了:
holiday
......我看到了我需要的所有东西 - 太棒了!
但是这里发生了什么?
当我使用上述语句导入pandas时,查看actual code of holidays.py
没有给出任何关于为什么不导入文件/模块的提示。
以下是一些其他信息,说明from pandas.tseries import holiday # no error
holiday.<TAB>
本身未找到holiday
的方式,但可以明确导入和使用
pandas.tseries
答案 0 :(得分:1)
简单地使用import pandas as pd
不会自动导入pandas库的所有子模块(正如TomAugspurger在上面的评论中所指出的那样)。
这是因为pandas库的__init.py__
不会导入包括holiday
子模块模块在内的所有内容。
要么调整__init__.py
文件,要么意识到必须明确导入pandas库的某些子模块!