numpy
-
生成数组,得到ndarray
np.array([1,2,3])
np.array(range(10))=np.arange(10)
np.arange(4,10,2,dtype(指定数据类型)=float或"float64"…)
#4,6,8
-
存放的数据的类型
a.dtype
-
调整数据类型
t6 = t5.astype(“int8”)
-
修改小数位数
np.round(a,2)
#a可以是数组,保留两位
-
一维数组查数量,二维数组查行列
xx.shape(传入元组)
#(12,0) (2,3)
-
一维变多维
t4 = np.arange(12)
t4.reshape((3,4))
#变成3行4列的数据
2个块,3行4列
-
多维变1维
t5.reshape((24,))
更方便的方法:
t5.flatten()
-
广播原则 - 三维除以二维…
-
轴的概念
读取文件和转置
-
读取
np.loadtext(
frame(路径),
dtype(数据类型),
delimiter=“分隔的字符串”,
skiprows=(跳过的行),
usecols=(使用哪几列),
uppack=(转置) bool
)
-
转置
t.transpose()
或t.T
或t.swapaxes(1,0) 1换0,0换1轴
索引
- 取二维数组的行,连续的多行,不连续的多行
-
取列
t2[:,0]
前面是行的规则,后面是列的规则
#上面表示的是取每一行的第0个数据
数值的修改
把值小于10的数字替换为3
t[t<10] = 0
-
numpy的三元运算符
np.where(t<10,0,10)
小于10的替换为0,大于10的替换为10
-
裁剪
t.clip(10,18)
小于10的替换为10,大于10的替换为18
-
np.nan
浮点类型
常用统计函数
-
求和
np.sum
-
获取最大值和最小值的位置
np.argmax(t,axis=0)
np.argmin(t,axis=1)
nan
not a number
nan之间不相等
nan和任何值计算都为nan
-
不为0的个数
np.count_nonzero(t2)
统计nan的个数:
np.count_nonzero(t2 != t2)
判断哪些值是nan:
np.isnan(t2)
->np.count_nonzero(np.isnan(t2))
-
出现nan的解决办法
填入均值或中值
删除有缺失值的一行
inf
无穷
数组的拼接
np.vstack()
竖直拼接
np.hstack()
水平拼接
数据的行列交换
创建全为0或1的数组
np.zeros((3,4))
np.ones
-
创建一个对角线为1的方阵
np.eye(3)
随机数
rand
随机分布
randn
正态分布
randint(10,20,(4,5))
一定范围的随机整数
生成10~20(不包含)之间4行5列的数组
uniform
与上面类似,但是是小数
-
复制
a = b.copy()