欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPTX文档下载  

    大数据的Python基础课件第10章numpy与pandas基础.pptx

    • 资源ID:1748794       资源大小:272.57KB        全文页数:118页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    大数据的Python基础课件第10章numpy与pandas基础.pptx

    第10章 numpy与pandas基础,1,本章学习目标,熟练掌握numpy数组运算与矩阵运算理解pandas的Series和DataFrame结构熟练掌握pandas读取不同类型数据的方法熟练掌握pandas访问和修改数据的方法熟练掌握缺失值处理方法熟练掌握重复值处理方法熟练掌握异常值处理方法,2,10.1 numpy数组运算与矩阵运算基础,Python扩展库numpy支持N维数组运算、处理大型矩阵、成熟的广播函数库、矢量运算、线性代数、傅里叶变换、随机数生成,并可与C+/Fortran语言无缝结合。,3,10.1.1 数组生成与常用操作,(1)生成数组 np.array(1, 2, 3, 4, 5) #把列表转换为数组array(1, 2, 3, 4, 5) np.array(1, 2, 3, 4, 5) #把元组转换成数组array(1, 2, 3, 4, 5) np.array(range(5) #把range对象转换成数组array(0, 1, 2, 3, 4) np.array(1, 2, 3, 4, 5, 6) #二维数组array(1, 2, 3, 4, 5, 6) np.arange(8) #类似于内置函数range()array(0, 1, 2, 3, 4, 5, 6, 7) np.arange(1, 10, 2)array(1, 3, 5, 7, 9),4,10.1.1 数组生成与常用操作, np.linspace(0, 10, 11) #等差数组,包含11个数array( 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.) np.linspace(0, 10, 11, endpoint=False) #不包含终点array( 0. , 0.90909091, 1.81818182, 2.72727273, 3.63636364, 4.54545455, 5.45454545, 6.36363636, 7.27272727, 8.18181818, 9.09090909) np.logspace(0, 100, 10) #相当于10*np.linspace(0,100,10)array(1.00000000e+000, 1.29154967e+011, 1.66810054e+022, 2.15443469e+033, 2.78255940e+044, 3.59381366e+055, 4.64158883e+066, 5.99484250e+077, 7.74263683e+088, 1.00000000e+100) np.logspace(1,6,5, base=2) #相当于2 * np.linspace(1,6,5)array( 2., 4.75682846, 11.3137085 , 26.90868529, 64. ) np.zeros(3) #全0一维数组array( 0., 0., 0.),5,10.1.1 数组生成与常用操作, np.ones(3) #全1一维数组array( 1., 1., 1.) np.zeros(3,3) #全0二维数组,3行3列array( 0., 0., 0., 0., 0., 0., 0., 0., 0.) np.zeros(3,1) #全0二维数组,3行1列array( 0., 0., 0.) np.zeros(1,3) #全0二维数组,1行3列array( 0., 0., 0.) np.ones(3,3) #全1二维数组array( 1., 1., 1., 1., 1., 1., 1., 1., 1.),6,10.1.1 数组生成与常用操作, np.ones(1,3) #全1二维数组array( 1., 1., 1.) np.identity(3) #单位矩阵array( 1., 0., 0., 0., 1., 0., 0., 0., 1.) np.identity(2)array( 1., 0., 0., 1.) np.empty(3,3) #空数组array( 0., 0., 0., 0., 0., 0., 0., 0., 0.),7,10.1.1 数组生成与常用操作, np.hamming(20) #Hamming窗口array(0.08 , 0.10492407, 0.17699537, 0.28840385, 0.42707668, 0.5779865, 0.7247799 , 0.85154952, 0.94455793, 0.9937262 , 0.9937262, 0.94455793, 0.85154952, 0.7247799 , 0.5779865 , 0.42707668, 0.28840385, 0.17699537, 0.10492407, 0.08 ) np.blackman(10) #Blackman窗口array( -1.38777878e-17, 5.08696327e-02, 2.58000502e-01, 6.30000000e-01, 9.51129866e-01, 9.51129866e-01, 6.30000000e-01, 2.58000502e-01, 5.08696327e-02, -1.38777878e-17) np.kaiser(12, 5) #Kaiser窗口array(0.03671089, 0.16199525, 0.36683806, 0.61609304, 0.84458838, 0.98167828, 0.98167828, 0.84458838, 0.61609304, 0.36683806, 0.16199525, 0.03671089),8,10.1.1 数组生成与常用操作, np.random.randint(0, 50, 5) #随机数组,5个0到50之间的数字array(13, 47, 31, 26, 9) np.random.randint(0, 50, (3,5) #3行5列array(34, 2, 33, 14, 40, 9, 5, 10, 27, 11, 26, 17, 10, 46, 30) np.random.rand(10) #10个介于0,1)的随机数array(0.98139326, 0.35675498, 0.30580776, 0.30379627, 0.19527425, 0.59159936, 0.31132305, 0.20219211, 0.20073821, 0.02435331) np.random.standard_normal(5) #从标准正态分布中随机采样5个数字array(2.82669067, 0.9773194, -0.72595951, -0.11343254, 0.74813065),9,10.1.1 数组生成与常用操作, x = np.random.standard_normal(size=(3, 4, 2) xarray( 0.5218421 , -1.10892934, 2.27295689, 0.9598461 , -0.92229318, 2.25708573, 0.0070173 , -0.30608704, 1.05133704, -0.4094823 , -0.03457527, -2.3034343 , -0.45156185, -1.26174441, 0.59367951, -0.78355627, 0.0424474 , -1.75202307, -0.43457619, -0.96445206, 0.28342028, 1.27303125, -0.15312326, 2.0399687 ),10,10.1.1 数组生成与常用操作, np.diag(1,2,3) #对角矩阵array(1, 0, 0, 0, 2, 0, 0, 0, 3) np.diag(1,2,3,4) #对角矩阵array(1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4),11,10.1.1 数组生成与常用操作,(2)测试两个数组的对应元素是否都足够接近 x = np.array(1, 2, 3, 4.001, 5) y = np.array(1, 1.999, 3, 4.01, 5.1) np.allclose(x, y)False np.allclose(x, y, rtol=0.2) #设置相对误差参数True np.allclose(x, y, atol=0.2) #设置绝对误差参数True,12,10.1.1 数组生成与常用操作,(3)修改数组中的元素值 x = np.arange(8) xarray(0, 1, 2, 3, 4, 5, 6, 7) np.append(x, 8) #返回新数组,增加元素array(0, 1, 2, 3, 4, 5, 6, 7, 8) np.append(x, 9,10) #返回新数组,在尾部追加多个元素array(0, 1, 2, 3, 4, 5, 6, 7, 9, 10) x #不影响原来的数组array(0, 1, 2, 3, 4, 5, 6, 7) x3 = 8 #原地修改元素值 xarray(0, 1, 2, 8, 4, 5, 6, 7),13,10.1.1 数组生成与常用操作, np.insert(x, 1, 8) #返回新数组,插入元素array(0, 8, 1, 2, 8, 4, 5, 6, 7) x = np.array(1,2,3, 4,5,6, 7,8,9) x0, 2 = 4 #修改第0行第2列的元素值 x1:, 1: = 1 #切片,同时修改多个值 xarray(1, 2, 4, 4, 1, 1, 7, 1, 1),14,10.1.1 数组生成与常用操作, x1:, 1: = 1,2 #同时修改多个元素值 xarray(1, 2, 4, 4, 1, 2, 7, 1, 2) x1:, 1: = 1,2,3,4 #同时修改多个元素值 xarray(1, 2, 4, 4, 1, 2, 7, 3, 4),15,10.1.1 数组生成与常用操作,(4)数组与标量的计算 x = np.array(1, 2, 3, 4, 5) #创建数组对象 xarray(1, 2, 3, 4, 5) x * 2 #数组与数值相乘,返回新数组array( 2, 4, 6, 8, 10) x / 2 #数组与数值相除array( 0.5, 1. , 1.5, 2. , 2.5) x / 2 #数组与数值整除array(0, 1, 1, 2, 2, dtype=int32) x * 3 #幂运算array(1, 8, 27, 64, 125, dtype=int32) x + 2 #数组与数值相加array(3, 4, 5, 6, 7),16,10.1.1 数组生成与常用操作, x % 3 #余数array(1, 2, 0, 1, 2, dtype=int32) 2 * x #分别计算2*1、2*2、2*3、2*4、2*5array(2, 4, 8, 16, 32, dtype=int32) 2 / xarray(2. ,1. ,0.66666667, 0.5, 0.4) 63 / xarray(63, 31, 21, 15, 12, dtype=int32),17,10.1.1 数组生成与常用操作,(5)数组与数组的四则运算 np.array(1, 2, 3, 4) + np.array(4, 3, 2, 1) #等长数组相加,对应元素相加array(5, 5, 5, 5) np.array(1, 2, 3, 4) + np.array(4) #数组中每个元素加4array(5, 6, 7, 8) a = np.array(1, 2, 3) a + a #等长数组之间的加法运算,对应元素相加array(2, 4, 6) a * a #等长数组之间的乘法运算,对应元素相乘array(1, 4, 9),18,10.1.1 数组生成与常用操作, a - a #等长数组之间的减法运算,对应元素相减array(0, 0, 0) a / a #等长数组之间的除法运算,对应元素相除array( 1., 1., 1.) b = np.array(1, 2, 3, 4, 5, 6, 7, 8, 9) c = a * b #不同维度的数组与数组相乘 c #a中的每个元素乘以b中的对应列元素array( 1, 4, 9, 4, 10, 18, 7, 16, 27) c / b #数组之间的除法运算array( 1., 2., 3., 1., 2., 3., 1., 2., 3.),19,10.1.1 数组生成与常用操作, c / aarray( 1., 2., 3., 4., 5., 6., 7., 8., 9.) a+b #a中每个元素加b中的每一列元素array( 2, 4, 6, 5, 7, 9, 8, 10, 12),20,10.1.1 数组生成与常用操作,(6)数组排序 x = np.array(3, 1, 2) np.argsort(x) #返回排序后元素的原下标array(1, 2, 0, dtype=int64) x_ #使用数组做下标,获取排序后的元素array(1, 2, 3) x = np.array(3, 1, 2, 4) x.argmax(), x.argmin() #最大值和最小值的下标(3, 1) np.argsort(x)array(1, 2, 0, 3, dtype=int64) x_array(1, 2, 3, 4) x.sort() #原地排序 xarray(1, 2, 3, 4),21,10.1.1 数组生成与常用操作,(7)数组的内积运算 a = np.array(5, 6, 7) b = np.array(6, 6, 6) a.dot(b) #向量内积108 np.dot(a,b)108 sum(a*b)108,22,10.1.1 数组生成与常用操作,(8)数组元素访问 b = np.array(1,2,3,4,5,6,7,8,9) barray(1, 2, 3, 4, 5, 6, 7, 8, 9) b0 #第0行array(1, 2, 3) b00 #第0行第0列的元素值1 b0,2 #第0行第2列的元素值3 b0,1 #第0行和第1行array(1, 2, 3, 4, 5, 6) b0,1, 1,2 #第0行第1列的元素和第1行第2列的元素 #内部第一个列表表示行下标,第二个列表表示列下标array(2, 6),23,10.1.1 数组生成与常用操作,(9)数组对函数运算的支持 x = np.arange(0, 100, 10, dtype=np.floating) np.sin(x) #一维数组中所有元素求正弦值array(0. , -0.54402111, 0.91294525, -0.98803162, 0.74511316, -0.26237485, -0.30481062, 0.77389068, -0.99388865, 0.89399666) b = np.array(1, 2, 3, 4, 5, 6, 7, 8, 9) np.cos(b) #二维数组中所有元素求余弦值array( 0.54030231, -0.41614684, -0.9899925 , -0.65364362, 0.28366219, 0.96017029, 0.75390225, -0.14550003, -0.91113026) np.round(_) #四舍五入array( 1., -0., -1., -1., 0., 1., 1., -0., -1.),24,10.1.1 数组生成与常用操作,(10)改变数组大小 a = np.arange(1, 11, 1) aarray(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) a.shape = 2, 5 #改为2行5列,原地修改 aarray( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) a.shape = 5, -1 #-1表示自动计算,原地修改 aarray( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10),25,10.1.1 数组生成与常用操作, b = a.reshape(2,5) #reshape()方法返回新数组 barray( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) x = np.array(range(5) x.reshape(1, 10) #reshape()不能修改数组元素个数Traceback (most recent call last): File , line 1, in x.reshape(1, 10)ValueError: total size of new array must be unchanged x.resize(1,10) #resize()可以改变数组元素个数 xarray(0, 1, 2, 3, 4, 0, 0, 0, 0, 0),26,10.1.1 数组生成与常用操作,(11)数组切片操作 a = np.arange(10) aarray(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) a:-1 #反向切片array(9, 8, 7, 6, 5, 4, 3, 2, 1, 0) a:2 #隔一个取一个元素array(0, 2, 4, 6, 8) a:5 #前5个元素array(0, 1, 2, 3, 4),27,10.1.1 数组生成与常用操作, c = np.arange(25) #创建数组 c.shape = 5,5 #修改数组大小 carray( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24) c0, 2:5 #第0行中下标2,5)之间的元素值array(2, 3, 4) c1 #第0行所有元素array(5, 6, 7, 8, 9),28,10.1.1 数组生成与常用操作, c2:5, 2:5 #行下标和列下标都介于2,5)之间的元素值array(12, 13, 14, 17, 18, 19, 22, 23, 24) c1,3, 2,4 #第1行第2列的元素和第3行第4列的元素array( 7, 19) c1,3, 2:4 #第1行和第3行的第2、3列array( 7, 8, 17, 18) c1,3 #第1行和第3行所有元素array( 5, 6, 7, 8, 9, 15, 16, 17, 18, 19) c1,3:, 2,4 #第1、3行的2、4列元素array( 7, 9, 17, 19),29,10.1.1 数组生成与常用操作,(12)数组布尔运算 x = np.random.rand(10) #包含10个随机数的数组 xarray(0.56707504, 0.07527513, 0.0149213, 0.49157657, 0.75404095, 0.40330683, 0.90158037, 0.36465894, 0.37620859, 0.62250594) x 0.5 #比较数组中每个元素值是否大于0.5array( True, False, False, False, True, False, True, False, False, True, dtype=bool) xx0.5 #获取数组中大于0.5的元素array( 0.56707504, 0.75404095, 0.90158037, 0.62250594) x np.all(x1) #测试是否全部元素都小于1True,30,10.1.1 数组生成与常用操作, np.any(1,2,3,4) #是否存在等价于True的元素True np.any(0)False a = np.array(1, 2, 3) b = np.array(3, 2, 1) a b #两个数组中对应位置上的元素比较array(False, False, True, dtype=bool) aab #数组a中大于b数组对应位置上元素的值array(3) a = barray(False, True, False, dtype=bool) aa=barray(2),31,10.1.1 数组生成与常用操作, x = np.arange(1, 10) xarray(1, 2, 3, 4, 5, 6, 7, 8, 9) x(x%2=0)&(x5) #布尔与运算array(6, 8) x(x%2=0)|(x5) #布尔或运算array(2, 4, 6, 7, 8, 9),32,10.1.1 数组生成与常用操作, import numpy as np data = np.array(1,2,3, 2,3,3, 3,4,5, 1,2,3, 4,5,6, 1,2,3) data=1,2,3array( True, True, True, False, False, True, False, False, False, True, True, True, False, False, False, True, True, True) index = list(map(lambda row:all(row=1,2,3), data) dataindex #获取所有1,2,3的行array(1, 2, 3, 1, 2, 3, 1, 2, 3),33,10.1.1 数组生成与常用操作,(13)分段函数 x = np.random.randint(0, 10, size=(1,10) xarray(0, 4, 3, 3, 8, 4, 7, 3, 1, 7) np.where(x np.piecewise(x, x7, lambda x:x*2, lambda x:x*3) #小于4的元素乘以2 #大于7的元素乘以3 #其他元素变为0array( 0, 0, 6, 6, 24, 0, 0, 6, 2, 0),34,10.1.1 数组生成与常用操作,(14)计算唯一值与出现次数 x = np.random.randint(0, 10, 7) xarray(8, 7, 7, 5, 3, 8, 0) np.bincount(x) #元素出现次数,0出现1次, #1、2没出现,3出现1次,以此类推array(1, 0, 0, 1, 0, 1, 0, 2, 2, dtype=int64) np.sum(_) #所有元素出现次数之和等于数组长度7 len(x)7 np.unique(x) #返回唯一元素值array(0, 3, 5, 7, 8),35,10.1.2 矩阵生成与常用操作,(1)生成矩阵 a_list = 3, 5, 7 a_mat = np.matrix(a_list) #创建矩阵 a_matmatrix(3, 5, 7) c_mat = np.matrix(1, 5, 3, 2, 9, 6) #创建矩阵 c_matmatrix(1, 5, 3, 2, 9, 6),36,10.1.2 矩阵生成与常用操作,(2)矩阵转置 a_mat.T #矩阵转置matrix(3, 5, 7) a_mat.shape #矩阵形状(1, 3) a_mat.size #元素个数3,37,10.1.2 矩阵生成与常用操作,(3)计算矩阵特征 a_mat.mean() #元素平均值5.0 a_mat.sum() #所有元素之和15 a_mat.max() #最大值7 a_mat.max(axis=1) #横向最大值matrix(7) a_mat.max(axis=0) #纵向最大值matrix(3, 5, 7),38,10.1.2 矩阵生成与常用操作,(4)矩阵相乘 b_mat = np.matrix(1, 2, 3) #创建矩阵 b_matmatrix(1, 2, 3) a_mat * b_mat.T #矩阵相乘matrix(34),39,10.1.2 矩阵生成与常用操作,(5)矩阵元素排序 c_mat.argsort(axis=0) #纵向排序后的元素序号matrix(0, 0, 0, 1, 1, 1, dtype=int64) c_mat.argsort(axis=1) #横向排序后的元素序号matrix(0, 2, 1, 0, 2, 1, dtype=int64),40,10.1.2 矩阵生成与常用操作,(6)计算相关系数矩阵(对称矩阵,对角线上元素表示自相关系数) np.corrcoef(1,2,3,4, 4,3,2,1) #负相关,变化方向相反array( 1., -1., -1., 1.) np.corrcoef(1,2,3,4, 1,2,3,4) #正相关,变化方向一致array( 1., 1., 1., 1.) np.corrcoef(1,2,3,4, 1,2,3,40)#正相关,变化趋势接近array( 1. , 0.8010362, 0.8010362, 1. ),41,10.1.2 矩阵生成与常用操作,(7)矩阵行列扩展 import numpy as np data = np.matrix(np.random.randint(1,10,5) for _ in range(6) newCols = np.matrix(np.random.randint(1,10,2) for _ in range(6) newRows = np.matrix(np.random.randint(1,10,5) for _ in range(3) datamatrix(8, 7, 7, 6, 1, 1, 9, 8, 5, 9, 1, 8, 7, 9, 6, 1, 4, 5, 5, 2, 4, 3, 1, 9, 2, 6, 3, 2, 7, 7),42,10.1.2 矩阵生成与常用操作, newColsmatrix(7, 1, 6, 3, 9, 1, 2, 7, 8, 8, 9, 1) newRowsmatrix(8, 3, 7, 5, 8, 7, 4, 7, 3, 8, 2, 8, 5, 2, 3),43,10.1.2 矩阵生成与常用操作, np.c_data, newCols #在右侧增加列matrix(8, 7, 7, 6, 1, 7, 1, 1, 9, 8, 5, 9, 6, 3, 1, 8, 7, 9, 6, 9, 1, 1, 4, 5, 5, 2, 2, 7, 4, 3, 1, 9, 2, 8, 8, 6, 3, 2, 7, 7, 9, 1) np.c_newCols, data #在左侧增加列matrix(7, 1, 8, 7, 7, 6, 1, 6, 3, 1, 9, 8, 5, 9, 9, 1, 1, 8, 7, 9, 6, 2, 7, 1, 4, 5, 5, 2, 8, 8, 4, 3, 1, 9, 2, 9, 1, 6, 3, 2, 7, 7),44,10.1.2 矩阵生成与常用操作, np.r_data, newRows #在下面增加行matrix(8, 7, 7, 6, 1, 1, 9, 8, 5, 9, 1, 8, 7, 9, 6, 1, 4, 5, 5, 2, 4, 3, 1, 9, 2, 6, 3, 2, 7, 7, 8, 3, 7, 5, 8, 7, 4, 7, 3, 8, 2, 8, 5, 2, 3),45,10.1.2 矩阵生成与常用操作, np.r_newRows, data #在上面增加行matrix(8, 3, 7, 5, 8, 7, 4, 7, 3, 8, 2, 8, 5, 2, 3, 8, 7, 7, 6, 1, 1, 9, 8, 5, 9, 1, 8, 7, 9, 6, 1, 4, 5, 5, 2, 4, 3, 1, 9, 2, 6, 3, 2, 7, 7),46,10.1.2 矩阵生成与常用操作, np.r_data, newRows, newRows #在下面增加行matrix(8, 7, 7, 6, 1, 1, 9, 8, 5, 9, 1, 8, 7, 9, 6, 1, 4, 5, 5, 2, 4, 3, 1, 9, 2, 6, 3, 2, 7, 7, 8, 3, 7, 5, 8, 7, 4, 7, 3, 8, 2, 8, 5, 2, 3, 8, 3, 7, 5, 8, 7, 4, 7, 3, 8, 2, 8, 5, 2, 3),47,10.1.2 矩阵生成与常用操作, np.insert(data, 0, newRows, axis=0) #在第0行增加行matrix(8, 3, 7, 5, 8, 7, 4, 7, 3, 8, 2, 8, 5, 2, 3, 8, 7, 7, 6, 1, 1, 9, 8, 5, 9, 1, 8, 7, 9, 6, 1, 4, 5, 5, 2, 4, 3, 1, 9, 2, 6, 3, 2, 7, 7),48,10.1.2 矩阵生成与常用操作, np.insert(data, 3, newRows, axis=0) #在第3行增加行matrix(8, 7, 7, 6, 1, 1, 9, 8, 5, 9, 1, 8, 7, 9, 6, 8, 3, 7, 5, 8, 7, 4, 7, 3, 8, 2, 8, 5, 2, 3, 1, 4, 5, 5, 2, 4, 3, 1, 9, 2, 6, 3, 2, 7, 7),49,10.1.2 矩阵生成与常用操作, np.insert(data, 4, newCols.T, axis=1) #在第4列处增加列matrix(8, 7, 7, 6, 7, 1, 1, 1, 9, 8, 5, 6, 3, 9, 1, 8, 7, 9, 9, 1, 6, 1, 4, 5, 5, 2, 7, 2, 4, 3, 1, 9, 8, 8, 2, 6, 3, 2, 7, 9, 1, 7),50,10.1.2 矩阵生成与常用操作, np.row_stack(data, newRows) #扩展行matrix(8, 7, 7, 6, 1, 1, 9, 8, 5, 9, 1, 8, 7, 9, 6, 1, 4, 5, 5, 2, 4, 3, 1, 9, 2, 6, 3, 2, 7, 7, 8, 3, 7, 5, 8, 7, 4, 7, 3, 8, 2, 8, 5, 2, 3),51,10.1.2 矩阵生成与常用操作, np.column_stack(data, newCols) #扩展列matrix(8, 7, 7, 6, 1, 7, 1, 1, 9, 8, 5, 9, 6, 3, 1, 8, 7, 9, 6, 9, 1, 1, 4, 5, 5, 2, 2, 7, 4, 3, 1, 9, 2, 8, 8, 6, 3, 2, 7, 7, 9, 1),52,10.1.2 矩阵生成与常用操作,(8)计算方差、协方差。 np.cov(1,1,1,1,1) #协方差array(0.0) x = -2.1, -1, 4.3 y = 3, 1.1, 0.12 X = np.vstack(x,y) print(np.cov(X) #协方差 11.71 -4.286 -4.286 2.14413333 print(np.cov(x, y) 11.71 -4.286 -4.286 2.14413333 print(np.cov(x)11.709999999999999,53,10.1.3 计算特征值与特征向量, import numpy as np e, v = np.linalg.eig(1,1,2,2) #特征值与特征向量 earray( 0., 3.) varray(-0.70710678, -0.4472136 , 0.70710678, -0.89442719) array = np.arange(1, 10).reshape(3,3) e, v = np.linalg.eig(array) earray( 1.61168440e+01, -1.11684397e+00, -9.75918483e-16) varray(-0.23197069, -0.78583024, 0.40824829, -0.52532209, -0.08675134, -0.81649658, -0.8186735 , 0.61232756, 0.40824829),54,10.1.4 计算逆矩阵, import numpy as np x = np.matrix(1,2, 3,4) y = np.linalg.inv(x) #计算逆矩阵 x * y #验证matrix( 1.00000000e+00, 1.11022302e-16, 0.00000000e+00, 1.00000000e+00) y * xmatrix( 1.00000000e+00, 4.44089210e-16, 0.00000000e+00, 1.00000000e+00),55,10.1.5 矩阵QR分解, import numpy as np a = np.matrix(1,2,3, 4,5,6) q, r = np.linalg.qr(a) np.dot(q,r) #验证matrix( 1., 2., 3., 4., 5., 6.),56,10.1.6 计算行列式, import numpy as np a = 1,2, 3,4 np.linalg.det(a)-2.0000000000000004 a = np.array(1, 2, 3, 4, 1, 2, 2, 1, 1, 3, 3, 1) np.linalg.det(a)array(-2., -3., -8.),57,10.1.7 矩阵奇异值分解, import numpy as np a = np.arange(60).reshape(5,-1) aarray( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59) U, s, V = np.linalg.svd(a, full_matrices=False),58,10.1.7 矩阵奇异值分解, np.dot(U, np.dot(np.diag(s), V)array( 7.01764278e-15, 1.00000000e+00, 2.00000000e+00, 3.00000000e+00, 4.00000000e+00, 5.00000000e+00, 6.00000000e+00, 7.00000000e+00, 8.00000000e+00, 9.00000000e+00, 1.00000000e+01, 1.10000000e+01, 1.20000000e+01, 1.30000000e+01, 1.40000000e+01, 1.50000000e+01, 1.60000000e+01, 1.70000000e+01, 1.80000000e+01, 1.90000000e+01, 2.00000000e+01, 2.10000000e+01, 2.20000000e+01, 2.30000000e+01, 2

    注意事项

    本文(大数据的Python基础课件第10章numpy与pandas基础.pptx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开