0
点赞
收藏
分享

微信扫一扫

【Python数据分析】numpy的使用

第一部分,numpy创建矩阵

numpy创建一般矩阵:

输入:

import numpy as np                        #把numpy简写为np

array=np.array([[1,2,3],

                          [2,3,4]])                 #把一个数组转为矩阵

print(array)                                      #输出矩阵

print(array.ndim)                             #输出这是几维数组,numbers of dim

print(array.shape)                           #输出行数和列数

print(array.size)                              #输出总共有多少元素

输出:

  2

(2,3)

  6

说明数组array是2维数组,2行3列,一共6个元素。

numpy定义矩阵格式:

输入:

import numpy as np     

array=np.array([[1,2,3],

                          [2,3,4]],dtype=np.int32)            #定义矩阵的存储格式,格式可以是                                                                                                      int32/64,float32/64

print(array.dtype)                                                  #输出矩阵的存储格式

输出:

int 32

numpy定义特殊矩阵:

输入:

import numpy as np   

array1=np.zeros((3,4))#创建3行4列全0矩阵

array2=np.ones((3,4))#创建3行4列全1矩阵

array3=np.empty((3,4))#创建3行4列空矩阵

print(array1,array2,array3)

输出:

[[0,0,0]

 [0,0,0]

 [0,0,0]]

[[1,1,1]

 [1,1,1]

 [1,1,1]]

输入:

import numpy as np   

array1=np.arange(10,20,2)                             #输出从10到20,步长为2的数组

array2=np.arange(12)                                     #输出从0到11的数组

array3=np.arange(12).reshape((3,4))             #输出从0到11数组成的矩阵,格式为3行4列

print(array1,array2,array3)

输出:

[10,12,14,16,18]

[0,1,2,3,4,5,6,7,8,9,10,11]

[[0,1,2,3]

 [4,5,6,7]

 [8,9,10,11]]

输入:

import numpy as np 

array1=np.linspace(1,10,6)                        #创建1到10之间等距的6个元素组成的数组

array2=np.linspace(1,10,6).reshape((2,3))#创建上述数组,但是输出改为2行3列的矩阵

print(array1,array2)

输出:

[ 1.  2.8  4.6  6.4  8.2 10. ]

[[ 1.   2.8  4.6]
 [ 6.4  8.2 10. ]]

第二部分,numpy基础计算

数组的基础计算:

加法

输入:

a=np.array([10,20,30,40])

b=np.arange(4)

print(a,b)

c=a+b

print(c)

输出:

[10 20 30 40]

[0 1 2 3]

[11 22 33 44]

乘法:

输入:

d=b**2#就是计算平方

print(d)

输出:

[0 1 4 9]

三角函数:

输入:

e=10*np.sin(a)

print(e)

输出:

[-5.4402111 9.12945251 -9.88031624 7.4511316]

判断那些值小于某个数或者大于某个数:

输入:

print(b)

print(b<3)

print(b==3)

输出:

[0 1 2 3]

[True True True False]

[False False False True]

矩阵的基础计算:

乘法:

输入:

a=np.array([[1,1],[0,1]])

b=np.arange(4).reshape((2,2))

c=a*b#矩阵的各个位置逐个相乘,并不是矩阵乘法

d=np.dot(a,b)#矩阵乘法,另一种写法是:d=a.dot(b)

print(a,b,c,d)

输出:

[[1 1]

 [0 1]]#a

[[0 1]

 [2 3]]#b

[[0 1]

 [0 3]]#c

[[2 4]

 [2 3]]#d

矩阵内部数值计算:

输入:

a=np.random(0,1).random((2,4))#随机生成一个数值在0到1之间的2行4列矩阵

print(a)

print(np.sum(a))#矩阵内所有数值元素求和

print(np.min(a))#矩阵内最小的数值

print(np.max(a))#矩阵内最大的数值

输出:

[[0.75848453 0.92104539 0.49954658 0.1547778]

[0.10790301 0.8903301 0.85886243 0.80849091]]

4.999440747

0.10790301

0.92104539

输入:

print(np.sum(a,axis=1))#矩阵内每一行数值元素求和,axis=0寓意每一列,axis=1寓意每一行

print(np.min(a,axis=0))#矩阵内每一列最小的数值

print(np.max(a,axis=1))#矩阵内每一行最大的数值

输出:

[2.3338543 2.66558645]

[0.10790301 0.8903301 0.49954658 0.1547778]

[0.92104539 0.8903301]

返回矩阵内元素的索引:

输入:

A=np.arange(2,4).reshape((3,4))#随机生成一个数值在2到4之间的3行4列矩阵

print(A)

print(np.argmin((A))#返回矩阵中数值最小元素的索引,就是位置

print(np.argmax(A))#返回矩阵中数值最大元素的索引

输出:

[[2 3 4 5]

 [6 7 8 9]

 [10 11 12 13]]

0#它在第1个位置

11#它在第11个位置

返回矩阵内元素的平均值/中位数:

输入:

print(np.mean(A))#计算矩阵内元素的平均值,也可以用A.mean()或是np.average(A)

print(np.median(A))#计算矩阵内元素的中位数

输出:

7.5

7.5

矩阵内元素的逐步累加/差:

输入:

print(np.cumsum(A))#矩阵内元素的逐步累加:前1个相加,前2个相加...等等

print(np.diff(A))#矩阵内元素的逐步累加:第2个减第1个,第3个减第2个...等等

输出:

[2 5 9 14 20 27 35 44 54 65 77 90]

[[1 1 1]

[1 1 1]

[1 1 1]]

举报

相关推荐

0 条评论