numpy的使用
数据分析的numpy的使用
一匹脱缰的野马
一匹脱缰的野马
展开
-
numpy的使用--数组属性
numpy弥补了python的array不支持多维的遗憾,Numpy提供了一种存储单一数据类型的多维数组——ndarray。numpy是一个科学计算库,核心是多维数组ndarry(多维数组),ndarray存储方式和list不一样,ndarray是一块整体的内存来存储数据。存储风格两种方式: C方式按行存 F方式按列存。常用的是C方式,按行存储。数组属性ndarray(数...原创 2019-09-08 16:58:36 · 268 阅读 · 0 评论 -
数组的重复和去重
unique() 去重unique具有去重加排序的功能,仅支持英文与数字,不支持中文arr = np.array([1,2,3,3,2,1,12,3,4,5,6])res = np.unique(arr)print(res) #[ 1 2 3 4 5 6 12]tile()进行数据的重复重复数据 tile作为整体进行重复N次arr = np.ara...原创 2019-09-09 21:36:24 · 247 阅读 · 0 评论 -
数组的排序
sort()sort升序,并会对原数组产生影响arr = np.array([9,1,10,2,8,6,7])arr.sort()print(arr) #[ 1 2 6 7 8 9 10]默认按照最后一个维度进行排序,可以进行设置axis竖向排列数据如下:arr =np.array([[9,1,10],[8,6,7]])arr.sort(...原创 2019-09-09 21:21:54 · 288 阅读 · 0 评论 -
数组的保存与读取
创建两个数组arr1 = np.arange(16).reshape(4,4)arr2 = np.array([1,2,3,4])save以二进制形式来保存数组,保存的文件是以.npy为结尾的二进制文件参数1 保存的文件路径+ 文件名称,可以省略文件名后缀。参数2 需要保存的数组np.save("./arr",arr)读取.npy 文件读取的时候...原创 2019-09-09 20:45:26 · 717 阅读 · 0 评论 -
数组的广播机制
数组的广播需要遵循下面4个原则1、让所有输入数组都向其中shape最长的数组看齐,shape中不足的部分都通过在前面加1补齐。2、输出数组的shape是输入数组shape的各个轴上的最大值。3、如果各个输入数组的对应轴的长度相同或者其长度为1时,这样的数组之间能够用来计算,否则出错。4、 当输入数组的某个轴的长度为1时,沿着此轴运算时都用此轴上的第一组值如下面代码所示,可以满...原创 2019-09-09 19:02:55 · 2571 阅读 · 0 评论 -
数组的运算
创建两个数组arr1 = np.arange(4).reshape(2,2)'''[[0 1] [2 3]]'''arr2 = np.arange(4,8).reshape(2,2)'''[[4 5] [6 7]]'''四则运算四则运算,对应位置元素相加减乘除和乘方print('arr1+arr2:',arr1+arr2)'''[[ 4 6] [ 8 10...原创 2019-09-09 16:52:56 · 212 阅读 · 0 评论 -
矩阵运算
创建矩阵m1 = np.mat(np.arange(4).reshape(2,2))print(m1)'''[[0 1] [2 3]]'''print(type(m1)) #<class 'numpy.matrixlib.defmatrix.matrix'>矩阵与数相乘数与矩阵的每个位置的元素进行相乘m2 = 3*m1print(m2)'''[...原创 2019-09-09 16:25:50 · 185 阅读 · 0 评论 -
创建转换和组合矩阵
mat、asmatrix和matrix 这里的矩阵是二维的,三维矩阵会报错。 在这里mat、asmatrix和matrix的用法基本上一样,推荐使用mat或者asmatrix,因为他们不复制,matrix会复制,占用内存。创建矩阵m1 = np.mat('1,2,3;4,5,6;7,8,9')'''[[1 2 3] [4 5 6] [7 8 9]]...原创 2019-09-09 13:58:17 · 325 阅读 · 0 评论 -
数组的拆分
创建数组arr = np.arange(16).reshape(4,4)vsplit()与hsplit()按行或列来拆分按行拆分new_arr = np.vsplit(arr,4)'''[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]]), array([[12, 13, 14...原创 2019-09-09 11:48:13 · 640 阅读 · 0 评论 -
数组的展开与组合
数组的展开创建二维数组arr = np.arange(16).reshape(4,4)ravel()将高维度数组展开为一维,按行展开print(arr.ravel())[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]flatten()展开默认C风格展开print(arr.flatten())[ 0 ...原创 2019-09-09 11:13:25 · 507 阅读 · 0 评论 -
数组的切片
一维数组的切片创建一个一维数组arr = np.arange(16) #[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]print(arr)print(arr.shape) #(16,)print(arr.ndim) #1获取单个元素获取下标为4的元素,获取最后一个元素data = arr[4]...原创 2019-09-09 10:59:56 · 826 阅读 · 0 评论 -
numpy数据形状和数据类型的更改
打印出数据和数据的形状arr = np.arange(6)print(arr) #[0 1 2 3 4 5]print('arr的形状:',arr.shape) #arr的形状: (6,)arr.shape和arr.reshape更改数据的形状shape和reshape都可以更改数据的形状,不同之处在于shape会将原数据更改,而r...原创 2019-09-08 19:34:38 · 674 阅读 · 0 评论 -
numpy数组的创建
arange()来创建数组arr = np.arange(0,6,2) #起始位置(包含开始值),结束位置(不包括结束值),步长。[0 2 4]print(arr)linspace函数来创建数组创建7个元素的等差数列。arr = np.linspace(0,6,7) #参数含义:开始位置(包含开始值),结束位置(包括结束值),创建数组元素的个数。等差数列[ 0...原创 2019-09-08 19:15:30 · 289 阅读 · 0 评论 -
分析鸢尾花数据集
常见函数如下读取iris数据集中的花萼长度数据(已保存为csv格式),并对其进行排序、去重,并求出和、累积和、均值、标准差、方差、最小值、最大值代码如下:import numpy as nparr = np.loadtxt(r'.......\iris_sepal_length.csv',dtype=float,delimiter=' ')#排序arr.so...原创 2019-09-10 08:46:50 · 5664 阅读 · 0 评论