numpy数组的变形、级联操作、聚合操作、常用的数学函数以及矩阵相关

numpy数组的变形、级联操作、聚合操作、常用的数学函数以及矩阵相关

    • 1.数组变形reshape
    • 2.级联操作concatenate函数
      • 1.级联操作的概念
      • 2.级联操作的应用
    • 3.聚合操作sum,max,min,mean
    • 4.常用的数学函数
    • 5.矩阵相关

1.数组变形reshape

  • 多维变一维
import numpy as np
arr=np.ones((5,6),int)
arr

该数组是5行6列的数组:
array([[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1]])

a=arr.reshape((30,)) #二维变一维
a

输出:
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])

  • 一维变多维
a.reshape((6,5))#一维变多维

输出:
array([[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]])

2.级联操作concatenate函数

1.级联操作的概念

将多个numpy数组进行横向或者纵向的拼接;使用concatenate((a1, a2, …), axis=0)函数。

  • a1,a2…是拼接的数组
  • axis是拼接的方向,axis=0是纵向拼接,axis=1是横向拼接;拼接的数组维度应该相同
np.concatenate((arr,arr),axis=0) #纵向拼接
np.concatenate((arr,arr),axis=1) #横向拼接

numpy数组的变形、级联操作、聚合操作、常用的数学函数以及矩阵相关_第1张图片

2.级联操作的应用

-图片的拼接

import matplotlib.pyplot as plt
arr1=plt.imread('./1.jpg')
arr2=np.concatenate((arr1,arr1,arr1,arr1),axis=1)
plt.imshow(arr2)
plt.show()

numpy数组的变形、级联操作、聚合操作、常用的数学函数以及矩阵相关_第2张图片

3.聚合操作sum,max,min,mean

arr.sum()       #求数组中所有数的和
arr.sum(axis=0)       #求每列的和
arr.sum(axis=1)       #求每行的和

numpy数组的变形、级联操作、聚合操作、常用的数学函数以及矩阵相关_第3张图片

4.常用的数学函数

  • numpy提供了标准的三角函数:sin()、cos()、tan()
  • numpy.around(a,decimals)函数返回指定数字的四舍五入值(a是数组,decimals是舍入的小数位数)
np.sin(arr)        #对数组每个数求sin
np.around(3.84)   #四舍五入结果为4.0
np.around(3.84,1)  #结果为3.8
  • 常用的统计函数
    1.numpy.ptp():计算数组中元素最大值与最小值的差(最大值-最小值)
    2.numpy.median():用于计算数组中的中位数
    3.标准差std():标准差是一组数据平均分散程度的一种度量
    numpy数组的变形、级联操作、聚合操作、常用的数学函数以及矩阵相关_第4张图片
    4.方差var():标准差是方差的平方根

5.矩阵相关

1.矩阵的转置:arr.T
2.矩阵乘法:np.dot(arr,arr)

arr_t=np.array([[1,3,2,1,3],[1,8,9,8,7],[6,7,8,4,5],[2,3,6,7,8],[2,6,4,7,3]])
print(arr_t)
print("转置后:")
print(arr_t.T)
print("矩阵相乘后:")
print(np.dot(arr_t,arr_t))

numpy数组的变形、级联操作、聚合操作、常用的数学函数以及矩阵相关_第5张图片

你可能感兴趣的:(python数据分析,numpy,矩阵,python,matplotlib,jupter)