numpy

it2023-11-20  68

numpy_task01

文章目录

numpy_task011. 常量1.1 numpy.nan1.2 numpy.inf1.3 numpy.pi1.4 numpy.e 2. 数据类型2.1 常见数据类型2.2 创建数据类型 3. 时间日期和时间增量3.1. datatime64 & timedelta64运算3.2 datatime64的应用 4. 数组的创建4.1 依据现有数据来创建ndarray

1. 常量

1.1 numpy.nan

空值:numpy.nan 、 numpy.NaN 、 numpy.NAN

两个numpy.nan不相等 import numpy as np print(np.nan==np.nan) # False

numpy.isnan(x, *args, **kwargs)

Test element-wise for NaN and return result as a boolean array import numpy as np x=np.array([1,2,np.nan,3,4]) y=np.isnan(x) print(y) # [False False True False False] z=np.count_nonzero(y) print(z) # 1 np.count_nonzero(x) #

1.2 numpy.inf

正无穷大:numpy.inf、numpy.Inf、numpy.infty、numpy.Infinity、numpy.PINF

numpy.inf 与其他数值的比较 import numpy as np print(np.inf > 100000) # True

1.3 numpy.pi

圆周率:numpy.pi

1.4 numpy.e

自然常数:numpy.e

2. 数据类型

2.1 常见数据类型

2.2 创建数据类型

import numpy as np x=np.dtype('b1') print(x.type) print(x.itemsize) x=np.dtype('i1') print(x.type) print(x.itemsize) x=np.dtype('i2') print(x.type) print(x.itemsize) x=np.dtype('i4') print(x.type) print(x.itemsize) x=np.dtype('i8') print(x.type) print(x.itemsize) x=np.dtype('u1') print(x.type) print(x.itemsize) x=np.dtype('u2') print(x.type) print(x.itemsize) x=np.dtype('u4') print(x.type) print(x.itemsize) x=np.dtype('u8') print(x.type) print(x.itemsize) x=np.dtype('f2') print(x.type) print(x.itemsize) x=np.dtype('f4') print(x.type) print(x.itemsize) x=np.dtype('f8') print(x.type) print(x.itemsize) x = np.dtype('S') print(x.type) print(x.itemsize) x = np.dtype('S3') print(x.type) print(x.itemsize) x = np.dtype('U3') print(x.type) print(x.itemsize)

3. 时间日期和时间增量

datatime64

日期/时间 单位含义Y年M月W周D天h小时m分钟s秒ms毫秒us微妙ns纳秒ps皮秒fs飞秒as阿托秒 默认情况下,numpy根据字符串自动选择对应的单位 import numpy as np x=np.datatime64('2020-10-20') print(x,x.dtype) x=np.datatime64('2020-10-20 21:50') print(x,x.dtype) 强制制定单位 import numpy as np x=np.datatime64('2020-10','D') print(x,x.dtype) x=np.datatime64('2020-10','Y') print(x,x.dtype) print(np.datetime64('2020-10') == np.datetime64('2020-10-01')) # True # 2020-10 和 2020-10-01 所表示的是同一个时间 print(np.datetime64('2020-10') == np.datetime64('2020-10-02')) #False

从字符串创建 datetime64 数组

单位不统一,则一律转化成其中小的单位

import numpy as np x = np.array(['2020-03', '2020-03-08', '2020-03-08 20:00'], dtype='datetime64') print(x, x.dtype) arange() 创建datatime64数组 import numpy as np a = np.arange('2020-08-01', '2020-08-10', dtype=np.datetime64) print(a) print(a.dtype) a = np.arange('2020-08-01 20:00', '2020-08-10', dtype=np.datetime64) print(a) print(a.dtype) a = np.arange('2020-05', '2020-12', dtype=np.datetime64) print(a) print(a.dtype)

3.1. datatime64 & timedelta64运算

a = np.timedelta64(1, 'Y') b = np.timedelta64(6, 'M') c = np.timedelta64(1, 'W') d = np.timedelta64(1, 'D') e = np.timedelta64(10, 'D') print(a) # 1 years print(b) # 6 months print(a + b) # 18 months print(a - b) # 6 months print(2 * a) # 2 years print(a / b) # 2.0 print(c / d) # 7.0 print(c % e) # 7 days

3.2 datatime64的应用

numpy.busday_offset(dates, offsets, roll='raise', weekmask='1111100', holidays=None, busdaycal=None, out=None)

numpy.is_busday(dates, weekmask='1111100', holidays=None, busdaycal=None, out=None)

numpy.busday_count(begindates, enddates, weekmask='1111100', holidays=[], busdaycal=None, out=None)

4. 数组的创建

numpy 提供的重要的数据结构是 ndarray ,它是 python 中 list 的扩展。

4.1 依据现有数据来创建ndarray

通过array()创建

def array(p_object, dtype=None, copy=True, order='K', subok=False, ndmin=0):

通过asarray()创建 def asarray(a, dtype=None, order=None): return array(a, dtype, copy=False, order=order) 通过fromfunction()创建

def fromfunction(function, shape, **kwargs):

最新回复(0)