美文网首页
numpy矩阵的维度和运算

numpy矩阵的维度和运算

作者: DancingBUG | 来源:发表于2019-08-18 02:21 被阅读0次

上一篇是不是太简单,这篇一样很简单,愉快的开始吧~

当然还是导入numpy,并且来创建一个3行4列的矩阵

t1 = np.arange(12).reshape(3,4)

t1.size # 矩阵元素的数量
# 12

t1.dtype # 矩阵内元素的类型
# dtype('int64')

我们可以给矩阵内的元素类型做一下改变:

t1 = t1.astype(np.float64) # 给矩阵的元素做类型转换
'''
可以看到都变成浮点数啦
array([[ 0.,  1.,  2.,  3.],
       [ 4.,  5.,  6.,  7.],
       [ 8.,  9., 10., 11.]])
'''
t1.dtype
# dtype('float64')

# 还是变回去吧
t1 = t1.astype(np.int64) 
t1
'''
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
'''

上一篇说了升维,现在说一下如何降维:

# 此处把t1从二维降到一维,不写参数的话,order默认='C',会按照行横着拼接
t2 = t1.flatten(order='C') 
t2
# array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])

# 再看看如果按order='F'就是按列竖着拼接
t2 = t1.flatten(order='F') 
t2
# array([ 0,  4,  8,  1,  5,  9,  2,  6, 10,  3,  7, 11])

两个相同的矩阵可以和矩阵做运算吗?比如让t1 * t1, 此时的t1是:

'''
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
'''
t2 = t1 * t1
t2
'''
array([[  0,   1,   4,   9],
       [ 16,  25,  36,  49],
       [ 64,  81, 100, 121]])
'''
# 可以看出,两个矩阵自动按照行列相同的对应位置相乘了,神奇吧?

最后告诉大家,矩阵的运算共有4种。第一种是上篇提到的和单个数字做运算,第二种是刚才实现的shape相同的矩阵互相运算,第三种就是单列、行数相同,第四种是单行、列数相同,举例如下:

# 创建一个单行4列的矩阵
t2 = np.arange(4).reshape(1,4) 
t2
# array([[0, 1, 2, 3]])

'''
此时的t1:
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
'''

t1 + t2 
# t2只有一行四列, 但和三行四列的t1相加后, 是t2的每行元素都和t1的元素对应相加了
'''
array([[ 0,  2,  4,  6],
       [ 4,  6,  8, 10],
       [ 8, 10, 12, 14]])
'''

# 最后来个3行单列的矩阵
t2 = np.arange(3).reshape(3,1) 
'''
array([[0],
       [1],
       [2]])
'''

# 这次是t2分别和t1的每一列相乘
t1 * t2 
'''
array([[ 0,  0,  0,  0],
       [ 4,  5,  6,  7],
       [16, 18, 20, 22]])
'''
# 相信大家看出来了吧?

相关文章

  • numpy矩阵的维度和运算

    上一篇是不是太简单,这篇一样很简单,愉快的开始吧~ 当然还是导入numpy,并且来创建一个3行4列的矩阵 我们可以...

  • Python数据分析(一):Numpy库学习

    一、Numpy简介 Numpy是python的科学计算库,支持高级大量的维度数组与矩阵运算,此外有针对数组运算提供...

  • 机器学习三剑客之Numpy

    Numpy NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供...

  • NumPy--简介

    Numpy NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵 运算,此外也针对数组运算提...

  • python中的矩阵运算

    NumPy支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。首先安装NumPy,安装过pand...

  • numpy学习(一)

    [TOC] NumPy numpy 是python语言的一个扩展程序库, 支持大量的维度数组与矩阵运算, 此外也针...

  • Numpy学习笔记

    最近才知道Numpy的强大,决定好好学一下。Numpy支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数...

  • 12个Pandas & Numpy函数:数据分析提速50%不是问

    我们都知道,Numpy 是 Python 环境下的扩展程序库,支持大量的维度数组和矩阵运算;Pandas 也是 P...

  • 加速数据分析,这12种高效Numpy和Pandas函数为你保驾护

    我们都知道,Numpy 是 Python 环境下的扩展程序库,支持大量的维度数组和矩阵运算;Pandas 也是 P...

  • python库用途说明

    numpy提供基础矩阵运算

网友评论

      本文标题:numpy矩阵的维度和运算

      本文链接:https://www.haomeiwen.com/subject/qemlsctx.html