t3 = np.arange(10) 等同 t2 = np.array(range(10))
2.指定数据类型或查看数据类型
print(t3.dtype)
t4 = np.array(range(10), dtype='i1')
3.保留两位小数
t6 = np.round(t5,2)
4.查看数组的形状 与行列数
形状: t1.shape
行数: csv.shape[0]
列数: csv.shape[1]
5.修改数组的形状
t3 = t1.reshape((2,3,4))
6.将数组展开为一维
t3.flatten()
7.数组与数组运算
广播原则: 如果两个数组的后缘维度的轴长度相符或者其中一方长度为1,则认为他们是广播兼容的。广播会在缺失和长度为1的维度上进行。
当维度一致,每个元素进行运算;
当维度不一致
假如 低维度的行或者列等于高纬度的行列时,会一次进行运算;
#定义
tt1 = np.arange(24).reshape(4,6)
tt2 = np.arange(20,44).reshape(4,6)
tt3 = np.arange(6)
tt4 = np.arange(6,10).reshape(4,1)
#计算验证
print(tt2 - tt1)
print('-'*50)
print(tt1-tt3)
print('-'*50)
print(tt3-tt1)
print('-'*50)
print(tt1-tt4)
print('='*50)
[[20 20 20 20 20 20]
[20 20 20 20 20 20]
[20 20 20 20 20 20]
[20 20 20 20 20 20]]
--------------------------------------------------
[[ 0 0 0 0 0 0]
[ 6 6 6 6 6 6]
[12 12 12 12 12 12]
[18 18 18 18 18 18]]
--------------------------------------------------
[[ 0 0 0 0 0 0]
[ -6 -6 -6 -6 -6 -6]
[-12 -12 -12 -12 -12 -12]
[-18 -18 -18 -18 -18 -18]]
--------------------------------------------------
[[-6 -5 -4 -3 -2 -1]
[-1 0 1 2 3 4]
[ 4 5 6 7 8 9]
[ 9 10 11 12 13 14]]
==================================================
1.读取
数组的转置:
print(csv.transpose())
print(csv.swapaxes(0,1))
print(tt.T)
2.numpy的索引和切片 (逗号前面取行,逗号后面取列)
a) 取单行:t[2]
取单列: t[:,2]
b) 取连续行: t[2:]
取连续的列: t[:, 2:]
c) 取不连续的行: t[[2,4]]
取不连续的列: t[:, [2,4]]
d) 取多个点: t[[1,2], [3,4]] #等价于 t[1,3] 与 t[2,4] 组成的数组
也可以取步长: t[1::2]
3.numpy中的布尔索引
a) t[t>7] = 100 #数组中大于7的都会等于100
b) t = np.where(t>7, 100, 0) #数组中大于7的等于 100,否则等于0
4.numpy中的 clip
t.clip(7,14) 小于7的替换成7,大于14的替换成14
注意:nan是一个浮点类型
1.拼接
a) 竖直拼接 np.vstack( (t1,t1...) )
b)水平拼接 np.hstack( (t1,t2...) )
2.交换行列
a)行交换 ttt1[[1,2], :] = ttt1[[2,1], :]
b)列交换 ttt1[:, [1,3]] = ttt1[:, [3,1]]
3.构造数组
a) 构造全为 0 的数组 : np.zeros( (3,3) )
b) 构造全为 1 的数组:np.ones( (3,3) )
c) 构造对角为 1 的数组 np.eye(3) #三行三列
4.寻找行列最大值的下标
a) 每行内最大值下标 np.argmax(t, axis=0)
b) 每列内最大值下标 np.argmin(t, axis=1)
6.numpy注意点 copy与view
a) a = b 完全不是赋值 ,ab相互影响
b) a = b[:] 视图的操作,一种切片,创建新的对象a,但是a的数据完全由b保管,他们的数据变化也是一致的
c) a = b.copy() 复制, ab互补影响
四.了解nan与 numpy的统计函数
1.nan
a) 两个 nan 是不相等的
b) np.nan != np.nan
c) nan与任何值计算都等于nan
np.count_nonzero( t!=t ) 使用。t!=t 判断 是否 有nan。此方法会将 True做1相加,当返回值为 0时,表示每nan
2.常用统计函数
±-------------------------------------------------------------------------------------------------+