5、numpy数组统计分析之坐标矩阵、统计函数、排序

本文介绍了numpy库中关于坐标矩阵的生成、数据处理函数的使用以及排序功能的实现。详细讲解了`meshgrid`函数如何创建坐标矩阵,包括两数组和多数组的示例。此外,还探讨了数据处理函数如统计函数、条件赋值`np.where()`的应用,并给出了排序函数的使用方法,包括单数组和多数组组合排序的实例。
摘要由CSDN通过智能技术生成

一、坐标矩阵

将数组作为坐标向量,从而生成坐标矩阵
np.meshgrid(数组1,数组2,数组3,…)

  • 可以把每个数组都作为一个轴(数组1代表x轴,数组2代表y轴,数组3代表z轴,…)
  • 其实生成的就是各轴的坐标值之间的排列组合的个数
  • 两个数组组成的矩阵结构:
    array个数为2个
    第二个数组的元素数是每个array的子数列个数
    第一个数组的元素数就是矩阵中每个数列的元素数
  • 3个以上数组组成的矩阵结构:
    数组个数为array的个数
    第二个数组(y轴)的元素个数为每个array中一级子数列的个数
    第一个数组(x轴)的元素个数为每个array中二级子数列的个数
    第三个数组(z轴)的元素个数为每个array中三级子数列的个数

    最后一个数组的元素个数为每个array中最细子数列的元素数
实例:2个数组演示

排列组合数有6种:
相当于a是x轴的值,b是y轴的值,两个数组的元素个数之积3*2为(x,y)的个数:
(2,0)(3,0)(4,0)
(2,1)(3,1)(4,1)
矩阵结构:
有2个array,每个array中有2个子数列,每个子数列中有3个元素

import numpy as np
a=np.array([2,3,4])
b=np.arange(2)
print('a:\n',a)
print('b:\n',b)
print('a,b组成的矩阵:\n',np.meshgrid(a,b))

runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
a:
 [2 3 4]
b:
 [0 1]
a,b组成的矩阵:
 [array([[2, 3, 4],
       [2, 3, 4]]), array([[0, 0, 0],
       [1, 1, 1]])]
实例:3个数组演示

排列组合数有72种:
相当于a是x轴的值,b是y轴的值,c是z轴的值,三个数组的元素个数之积643为(x,y,z)的个数:
(0,0,0)(1,0,0)(2,0,0)(3,0,0)(4,0,0)(5,0,0)
(0,1,0)(1,1,0)(2,1,0)(3,1,0)(4,1,0)(5,1,0)
(0,0,1)(1,0,1)(2,0,1)(3,0,1)(4,0,1)(5,0,1)

矩阵结构:
有3个array,每个array中有4个一级子数列,每个array中有6个二级子数列,每个最细子数列中有3个元素

import numpy as np
a=np.arange(6)
b=np.arange(4)
c=np.arange(3)
print('a:\n',a)
print('b:\n',b)
print('c:\n',c)
print('a,b组成的矩阵:\n',np.meshgrid(a,b,c))

runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
a:
 [0 1 2 3 4 5]
b:
 [0 1 2 3]
c:
 [0 1 2]
a,b组成的矩阵:
 [array([[[0, 0, 0],
        [1, 1, 1],
        [2, 2, 2],
        [3, 3, 3],
        [4, 4, 4],
        [5, 5, 5]],

       [[0, 0, 0],
        [1, 1, 1],
        [2, 2, 2],
        [3, 3, 3],
        [4, 4, 4],
        [5, 5, 5]],

       [[0, 0, 0],
        [1, 1, 1],
        [2, 2, 2],
        [3, 3, 3],
        [4, 4, 4],
        [5, 5, 5]],

       [[0, 0, 0],
        [1, 1, 1],
        [2, 2, 2],
        [3, 3, 3],
        [4, 4, 4],
        [5, 5, 5]]]), array([[[0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0]],

       [[1, 1, 1<
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值