Python数据分析系列之Numpy常用操作第十篇

122 阅读2分钟

这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战

Numpy预定义的常用的常量:

In [1]: import numpy as np

# 表示正无穷大
In [2]: np.inf
Out[2]: inf

# 表示负无穷大
In [6]: np.NINF
Out[6]: -inf

# 表示不是一个数字
In [4]: np.nan
Out[4]: nan

# 表示是正零
In [7]: np.PZERO
Out[7]: 0.0

# 表示是负零
In [8]: np.NZERO
Out[8]: -0.0

# 表示自然对数
In [9]: np.e
Out[9]: 2.718281828459045  

# 圆周率
In [16]: np.pi
Out[16]: 3.141592653589793

# 表示None
In [11]: np.newaxis is None
Out[11]: True

Numpy时间类型的定义和常用操作:

# 年月日的形式
In [17]: np.datetime64('2021-11-21')
Out[17]: numpy.datetime64('2021-11-21')

# 年月的形式
In [18]: np.datetime64('2021-11')
Out[18]: numpy.datetime64('2021-11')

# 忽略日的数据,但显式指定到天
In [19]: np.datetime64('2021-11', 'D')
Out[19]: numpy.datetime64('2021-11-01')

# 带上时间
In [20]: np.datetime64('2021-11-21T21:21')
Out[20]: numpy.datetime64('2021-11-21T21:21')

# 表示not a time
In [21]: np.datetime64('Nat')
Out[21]: numpy.datetime64('NaT')

# 生成datetime数组
In [22]: np.array(['2021-11', '2021-12'], dtype='datetime64[D]')
Out[22]: array(['2021-11-01', '2021-12-01'], dtype='datetime64[D]')

# 使用arange生成数组
In [23]: np.arange('2021-11', '2021-12', dtype='datetime64[D]')
Out[23]:
array(['2021-11-01', '2021-11-02', '2021-11-03', '2021-11-04',
       '2021-11-05', '2021-11-06', '2021-11-07', '2021-11-08',
       '2021-11-09', '2021-11-10', '2021-11-11', '2021-11-12',
       '2021-11-13', '2021-11-14', '2021-11-15', '2021-11-16',
       '2021-11-17', '2021-11-18', '2021-11-19', '2021-11-20',
       '2021-11-21', '2021-11-22', '2021-11-23', '2021-11-24',
       '2021-11-25', '2021-11-26', '2021-11-27', '2021-11-28',
       '2021-11-29', '2021-11-30'], dtype='datetime64[D]')

# 2021-112021-11-01在Numpy中是认为相等的。
In [25]: np.datetime64('2021-11') == np.datetime64('2021-11-01')
Out[25]: True  

# timedelta: 两个时刻的时间间隔
In [26]: np.timedelta64(2, 'D')
Out[26]: numpy.timedelta64(2,'D')

In [27]: np.timedelta64(2, 'h')
Out[27]: numpy.timedelta64(2,'h')

# 21号和20号相隔1天
In [28]: np.datetime64('2021-11-21') - np.datetime64('2021-11-20')
Out[28]: numpy.timedelta64(1,'D')