numpy创建矩阵

2019-08-18  本文已影响0人  DancingBUG

numpy是数据分析最入门的一个python包,当然我默认你会python基础语法了 :D
由于我自己也是个半吊子, 所以只能带大家入半个门啦!

OK不说废话了,开始~
首先需要导入numpy:

import numpy as np

接着我们创建一组一维数据,很像list有没有:

t1 = np.arange(12)
# array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])

其实一维数据也叫矩阵,因为它的type是ndarray:

t1.shape # 此时是一维矩阵,可以看成一行十二列:
# (12,)

type(t1)
# numpy.ndarray

先不说二维矩阵什么的,一维矩阵看上去很像python原生list,但是却可以做这种骚操作:

t1 = t1 + 1 # 矩阵的向量可以同时操作
# array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])

这是因为ndarray和数学中的向量很像,可以理解为一组具有方向和个数的数据,所以它们可以同时进行四则运算。

矩阵还可以用reshape改变升维或者降维,下面我们把t1升级成二维矩阵:

t2 = t1.reshape(3,4) # reshape成三行四列

''' 
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])
'''
t2.shape # 此时变成二维矩阵啦
# (3, 4)

我们还可以把python的原生list转换成矩阵:

# 一个两行三列的原生list
data = [[1,2,3],[4,5,6]]  

t3 = np.array(data)  

'''
 array([[1, 2, 3],
        [4, 5, 6]])
'''

再试试随机数生成矩阵吧:

# 三行四列的随机0~1之间的小数
np.random.random([3,4])
'''
array([[0.37671208, 0.25014718, 0.38858475, 0.46927622],
       [0.88731279, 0.91929258, 0.4029412 , 0.55447529],
       [0.94189628, 0.01278638, 0.46878234, 0.97236716]])
'''
# 再来个三行四列,从1到99的整数
np.random.randint(1,100,[3,4]) 
'''
array([[76,  9, 45, 55],
       [28, 99, 76, 19],
       [35, 97, 28, 67]])
'''
# 最后再来个高级点的
# 符合μ=0,标准差=1的标准正态分布的,三行四列的随机数矩阵
np.random.normal(loc=0, scale=1, size=[3,4]) 
'''
array([[-0.22955113, -0.26896338, -1.43373628, -1.46912364],
       [ 0.0385668 ,  0.40304619,  1.8264122 ,  0.20867328],
       [-1.40964851, -1.44240819, -0.95744294, -0.5778904 ]])
'''
上一篇 下一篇

猜你喜欢

热点阅读