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 ]])
'''
网友评论