当前位置: 首页>编程语言>正文

python快排 string数组去重 python数组去重函数

Numpy学习笔记

Numpy是Python的一个数值计算库

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_字符串,第1张

Numpy使用ndarray对象来处理多维数据

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_python数组去重函数_02,第2张

np.array创建darray

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_数组_03,第3张

Numpy的优势

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_python快排 string数组去重_04,第4张

ndarray的元素是连续存储的,因此随机读写性能会好

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_缺失值_05,第5张

ndarray的属性

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_python快排 string数组去重_06,第6张

关键且常用的属性就是shape和dtype

常见的类型:

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_缺失值_07,第7张

在创建ndarray时,我们可以指定类型:

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_数组_08,第8张

如果不指定,整数默认是int64,小数默认是float64

数组修改类型:

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_缺失值_09,第9张

生成数组的方式

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_缺失值_10,第10张

linspace第三个参数表示生成的数组中元素的个数

np.arange的用法和python的range比较像,但是它是可以生成小数,而range只能是整数

我们可以使用np.round来确定小数的保留位数

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_字符串_11,第11张

均匀分布和正态分布

均匀分布:np.random.uniform(low,high,size)

low: 采样下界,float类型,默认值为0;

high: 采样上界,float类型,默认值为1;

size: 输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出m*n*k个样本,缺省时输出1个值。

正态分布:np.random.normal(loc,scale,size)

loc:float

概率分布的均值,对应着整个分布的中心center

scale:float

概率分布的标准差,对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高

size:int or tuple of ints

输出的shape,默认为None,只输出一个值

数组变形

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_数组_12,第12张

数组序列化

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_字符串_13,第13张

输出为:

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_字符串_14,第14张

数组去重

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_缺失值_15,第15张

其实python也有一个内置的去重函数叫set(),但是其传入的只能是一维数组,我们也可以将ndarray通过 数组名.flatten()压缩为一维再使用

逻辑运算

直接对数组中元素值进行布尔运算,返回布尔数组:

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_缺失值_16,第16张

对于上面返回的布尔数组,可以再次传入原始数组中从而获取值为True的元素组成的数组

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_字符串_17,第17张

还可以对上面的数组直接赋值

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_数组_18,第18张

也就是对满足表达式的元素直接赋值。省去了for循环

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_python快排 string数组去重_19,第19张

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_缺失值_20,第20张

注意上面逻辑与和逻辑或的用法

统计运算

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_字符串_21,第21张

可以选择按行统计还是按列统计

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_缺失值_22,第22张

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_缺失值_23,第23张

可以用ndarray.方法名,也可以用np.函数名

argmin返回的是最小值的位置而不是最小值

数组间运算

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_字符串_24,第24张

数组与数的运算实质是数和数组中所有元素的运算

数组之间也可以运算:

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_缺失值_25,第25张

可以看到,宽度一致时,是一层一层相减的。但是这样要求t7的长必须为1,t7要是两层的话就不行了。同样地,t7如果是一列也可以算

矩阵运算

numpy中数组和矩阵不是一种类型,矩阵的存储使用的是matrix数据类型,当然用ndarray也没什么问题

使用np.mat来创建matrix

矩阵乘法:

对于ndarray类型的话:

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_python数组去重函数_26,第26张

对于matrix类型,直接使用*即可

数组的合并与分割

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_字符串_27,第27张

hstack是对数组进行水平拼接,而vstack是进行垂直拼接

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_python快排 string数组去重_28,第28张

np.concatenate可以进行水平和垂直拼接,但是需要传入参数来确定是怎么拼接

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_字符串_29,第29张

np.split可以传入要分割的个数(此时默认每个里的元素数量是相同的),也可以按下标分割,例如上图中第二个例子将前3个、4-5个等等分成不同组

文件的读取和数据处理

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_python快排 string数组去重_30,第30张

读取csv

但是这样的读取是存在问题的:

原csv是这样:

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_python快排 string数组去重_31,第31张

读出来是这样:

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_缺失值_32,第32张

(nan:not a number)

对于字符串会自动读成nan,因为ndarray中元素的类型需要是一样的,所以不能第一行是字符串而剩下的是数。这个nan的类型和其他元素的类型保持一致

我们可以看到原本的数据中其实就是有两个缺失值的,这个一般怎么处理呢?一种方法是,如果我们的数据够多,就可以直接删除这个缺失值所在的样本;另外一个思路是求缺失值所在的那一列的平均值填入,具体函数如下:

python快排 string数组去重 python数组去重函数,python快排 string数组去重 python数组去重函数_缺失值_33,第33张

所以我们一般不用numpy来读文件,而只用它来处理文件

而对于数据处理,pandas更为方便


https://www.xamrdz.com/lan/5xm1924608.html

相关文章: