Numpy组队学习第一次打卡
1.常量
空值的表示||空值互不相等:
nan = NaN = NAN
import numpy as np
print(np.nan == np.nan)
# False
print(np.nan != np.nan) # True
2.数据类型
字符 | 对应类型 | 备注 |
---|---|---|
b | boolean | ‘b1’ |
i | signed integer | ‘i1’, ‘i2’, ‘i4’, ‘i8’ |
u | unsigned integer | ‘u1’, ‘u2’ ,‘u4’ ,‘u8’ |
f | floating-point | ‘f2’, ‘f4’, ‘f8’ |
c | complex | floating-point |
m | timedelta64 | 表示两个时间之间的间隔 |
M | datetime64 | 日期时间类型 |
O | object | |
S | (byte-)string | S3表示长度为3的字符串 |
U | Unicode | Unicode 字符串 |
V | void |
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]