Numpy组队学习第一次打卡

it2023-11-03  73

Numpy组队学习第一次打卡

1.常量2.数据类型3.时间日期和时间增量4、数组的创建4.1利用数值范围来创建ndarray4.2 结构数组的创建

1.常量

空值的表示||空值互不相等: nan = NaN = NAN

import numpy as np print(np.nan == np.nan) # False print(np.nan != np.nan) # True

2.数据类型

字符对应类型备注bboolean‘b1’isigned integer‘i1’, ‘i2’, ‘i4’, ‘i8’uunsigned integer‘u1’, ‘u2’ ,‘u4’ ,‘u8’ffloating-point‘f2’, ‘f4’, ‘f8’ccomplexfloating-pointmtimedelta64表示两个时间之间的间隔Mdatetime64日期时间类型OobjectS(byte-)stringS3表示长度为3的字符串UUnicodeUnicode 字符串Vvoid

3.时间日期和时间增量

import numpy as np import datetime dt = datetime.datetime(year=2020, month=6, day=1, hour=20, minute=5, second=30) dt64 = np.datetime64(dt, 's') print(dt64, dt64.dtype) # 2020-06-01T20:05:30 datetime64[s] dt2 = dt64.astype(datetime.datetime) print(dt2, type(dt2)) # 2020-06-01 20:05:30 <class 'datetime.datetime'>

4、数组的创建

4.1利用数值范围来创建ndarray

arange() 函数:返回给定间隔内的均匀间隔的值。linspace() 函数:返回指定间隔内的等间隔数字。logspace() 函数:返回数以对数刻度均匀分布。numpy.random.rand() 返回一个由[0,1)内的随机数组成的数组。

4.2 结构数组的创建

1.利用字典来定义结构

import numpy as np personType = np.dtype({ 'names': ['name', 'age', 'weight'], 'formats': ['U30', 'i8', 'f8']}) a = np.array([('Liming', 24, 63.9), ('Mike', 15, 67.), ('Jan', 34, 45.8)], dtype=personType) print(a, type(a)) # [('Liming', 24, 63.9) ('Mike', 15, 67. ) ('Jan', 34, 45.8)] # <class 'numpy.ndarray'>

2.利用包含多个元组的列表来定义结构

import numpy as np personType = np.dtype([('name', 'U30'), ('age', 'i8'), ('weight', 'f8')]) a = np.array([('Liming', 24, 63.9), ('Mike', 15, 67.), ('Jan', 34, 45.8)], dtype=personType) print(a, type(a)) # [('Liming', 24, 63.9) ('Mike', 15, 67. ) ('Jan', 34, 45.8)] # <class 'numpy.ndarray'> # 结构数组的取值方式和一般数组差不多,可以通过下标取得元素: print(a[0]) # ('Liming', 24, 63.9) print(a[-2:]) # [('Mike', 15, 67. ) ('Jan', 34, 45.8)] # 我们可以使用字段名作为下标获取对应的值 print(a['name']) # ['Liming' 'Mike' 'Jan'] print(a['age']) # [24 15 34] print(a['weight']) # [63.9 67. 45.8]
最新回复(0)