80_Pandas如何使用NumPy的函数等(pd.np)
80_Pandas如何使用NumPy的函数等(pd.np)
在导入pandas的同时也会导入NumPy模块,并且可以通过pd.np
访问NumPy模块。仅通过导入pandas就可以使用NumPy的函数等,而无需显式导入NumPy。
当使用Jupyter Notebook等工具导入pandas时,如果需要使用NumPy的函数等,不需要额外导入NumPy,因此在编写临时代码时非常方便。
当然,如果需要多次使用NumPy的函数等,为了代码更加清晰,建议显式导入NumPy。
以下内容将会进行说明:
pd.np与np是同一个对象
pd.np的使用方法
<<注意 - 2020-02-01更新>>
在pandas 1.0.0版本中,pd.np
被标记为已弃用(Deprecated)。在1.0.0版本时仅会显示警告(FutureWarning),但未来将会彻底移除,请注意。
What’s new in 1.0.0 (January 29, 2020) - Deprecations — pandas 1.0.0 documentation
DEPR: Remove pandas.np · Issue #30296 · pandas-dev/pandas
pd.np与np是同一个对象
如下所示,通过print()
输出pd.np
,可以确认其为NumPy模块。
import pandas as pd
print(pd)
# <module 'pandas' from '/usr/local/lib/python3.7/site-packages/pandas/__init__.py'>
print(pd.np)
# <module 'numpy' from '/usr/local/lib/python3.7/site-packages/numpy/__init__.py'>
接着导入NumPy并进行比较,可以确认pd.np
与np
是同一个对象。当然,其包含的函数等对象也是相同的。
import numpy as np
print(pd.np is np)
# True
print(pd.np.mean is np.mean)
# True
pd.np的使用方法
将使用NumPy时导入的np
替换为pd.np
即可使用。
a = pd.np.arange(12).reshape(3, 4)
print(a)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
print(type(a))
# <class 'numpy.ndarray'>
除了各种函数以外,还可以使用NumPy中定义的值(常数),如圆周率pi
和自然对数的底e
等。
print(pd.np.pi)
# 3.141592653589793
print(pd.np.e)
# 2.718281828459045