立即学习:https://edu.csdn.net/course/play/26990/361118?utm_source=blogtoedu
比列表字典元祖集合快很多的numpy是基于C语言写的,带向量,专门为数据清洗而生。所以使用python尽量避免使用for循环,而是尽量使用numpy里的函数。
pandas基于bumpy而生。
ndnarry n维数组结构 可以使用嵌套列表形式创建
还可以用dtype规定数据类型
np.arange可以创建左闭右开数组,最后一个数字是步长
np.zeros或者np.ones产生几行几列的二维数组
numpy是向量运算 + 会对每个数字都+ 因此尽量使用numpy清洗效率非常高
ndim判断几维 shape判断几行几列 size判断一共多少个元素 dtype判断数据类型(int32是整数形)
arr2【0:3】代表访问数组从第一行到第三行(左闭右开)【1,2】表示取第二行第三列的元素,作用和【1】【2】一样 【:,1:3】行数不选择,取第二列到第三列,对行数不选择时,要写成这种形式【:,列数】
数据排序用np.sort ()升序
如果降序sorted(变量,reverse=True)排出来是个列表
如果前面加上np.array 也就是np.array(sorted())就把列表转化为数组了
当我们对二维数组进行排序时会进行一个轴向选择,如果vp.sort(变量,axis=0)那么就会基于行沿着行的方向进行从小到大排序操作,在每列都是从小到大排序;axis=1则是沿着列的方向排序也就是说每行都是从小到大排序
np.argsort()返回的是数据中从大到小的索引值
对数据进行搜索和条件赋值:np.where(变量>3,1,-1)就是有一个条件是数值大于3,当条件满足时就赋值为1,条件不满足时赋值为-1,返回的是和原来数组长度一样的数组。也可以进行其他匹配,比如nu.where(变量>3,变量,-1)就是大于3的就返回数组本身,否则变成-1.
做筛选的np.extract(变量>3,变量)就是大于3的拿出来,不大于3的丢掉。第一个参数是条件,第二个参与是要返回的值