import pandas as pd pd.np.isnan(1) #=> False
这有效,但这有什么不利之处吗?或者我应该写
import pandas as pd import numpy as np np.isnan(1) #=> False
什么是好习惯?
解决方法
>正如@abarnert在评论中所说,它遵循P000 0008中Public and internal interfaces规定的Python代码的官方指南.具体来说,PEP说:
All undocumented interfaces should be assumed to be internal.
和:
Imported names should always be considered an implementation detail.
Other modules must not rely on indirect access to such imported names
unless they are an explicitly documented part of the containing
module’s API,such asos.path
or a package’s__init__
module that
exposes functionality from submodules.
因为NumPy是Pandas图书馆的无证方面(在帮助(pd)或官方网站上都没有提及),因此不应将其视为Pandas的官方部分.
> “Explicit is better than implicit”,第二种方法明确表示我们在代码中直接使用numpy库.然而,第一种方法通过熊猫图书馆“滑入”.>代码分析工具将无法看到您的代码直接使用NumPy.这可能会生成有关您的代码的错误数据(例如它具有哪些依赖关系).> Pandas包含NumPy的事实只不过是一个实现细节.意思是,如果Pandas的制造商改变他们的内部代码以任何方式改变这个细节,那么你的所有Numpy代码都可能在它真的不应该突然中断. Numpy和Pandas是两个独立的东西,应该这样对待.