• 【python】numpy常用属性


    首先导入numpy

    import numpy as np
    
    • 1

    np.range

    np.range(start, end, step): 获取指定区间和步长的列表。

    np.arange(0, 1, 0.1)  # 区间: [0, 1), 步长: 0.1
    
    • 1

    在这里插入图片描述

    np.quantile

    np.quantile(mlst, bins):按指定比例获取数据列表的分位数值。比如: 要获取mlst=[0,1,2,3,4]bins=[0.5]分位数(即50%分位数):bined=[2]

    # 指定比例
    bins = np.arange(0, 1, 0.1) 
    # 数据列表
    mlst = range(0, 101)
    # 分位数值
    mqtl = np.quantile(mlst, bins)
    mqtl
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    np.digitize

    np.digitize(mlst, bined):对应mlst列表中的数据落在bined对应数值(区域)的索引。

    mlst = range(0, 101)
    bins = np.arange(0, 1, 0.1)
    mqtl = np.quantile(mlst, bins)
    binned = np.digitize(mlst, mqtl)
    binned
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    np.random

    rand

    np.random.rand(int):生成int个[0,1)之间的随机数

    np.random.rand(4)
    
    • 1

    注意:多次随机输出的数据不同。
    在这里插入图片描述

    seed

    np.random.seed(int):生成随机数前,指定随机种子为int,用于固定随机输出值。

    np.random.seed(0)  # 指定种子为0
    np.random.rand(4)  # 生成4个[0,1)之间的随机数
    
    • 1
    • 2

    注意:固定种子后,多次随机生成的值相同。
    在这里插入图片描述

    permutation

    np.random.permutation(list):打乱原来的list顺序。

    np.random.permutation(range(10))
    
    • 1

    在这里插入图片描述

    np.unique

    np.unique(list, return_inverse=True) 对list去重复,return_inverse指定是否返回:原数组元素对应的去重后的索引。

    lst = np.array([1,2,3,2,3,4,5])
    ulst, ilst = np.unique(lst, return_inverse=True)
    print(ulst)
    print(lst)
    print(ilst)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    np.zeros

    生成全为0的数组,可以指定多个维度。

    np.zeros(5)
    np.zeros((3, 5))
    np.zeros((3, 2, 5))
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    也可通过np.zero_like获取相同形状的数组。

    np.zeros_like([1,2,3])
    np.zeros_like([[1,2,3], [2,3,4]])
    
    • 1
    • 2

    在这里插入图片描述

    np.sum

    对数组求和。

    np.sum([1,2,3])  # 求所有元素之和
    np.sum([[1,2,3], [2,3,4]])  # 求所有元素之和
    np.sum([[1,2,3], [2,3,4]], 0)  # 按列求和
    np.sum([[1,2,3], [2,3,4]], 1)  # 按行求和
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    类似求和:求均值np.mean、求最小np.min、求最大np.max
    在这里插入图片描述
    在这里插入图片描述

    np.argmin/max/sort/where

    获取最小值或最大值的索引argminargmax

    np.argmax([1,2,10,8,15])  # 最大值索引, 返回4
    np.argmin([1,2,0])  # 最小索引,返回2
    
    • 1
    • 2

    在这里插入图片描述
    还可以获取排序后,原来的元素的索引:argsort

    np.argsort([10,2,1,8])  # 排序后是[1,2,8,10], 返回对应排序后的索引
    
    • 1

    在这里插入图片描述
    argwhere获取非0的索引

    np.argwhere([0,2,1,8,0,5])  # 返回非0值的索引
    
    • 1

    在这里插入图片描述

    np.log

    np.log e e e为底取对数。np.log2 2 2 2为底。np.log10 10 10 10为底。

    lst = np.array([1,2,3,2,3,4,5])
    np.log(lst)
    
    • 1
    • 2

    取对数前后:

    import matplotlib.pyplot as plt
    p1 = plt.scatter(range(len(lst)), lst, label='raw')
    p2 = plt.scatter(range(len(lst)), np.log(lst), label='log')
    plt.legend()
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    transpose

    转置。与.T相同。

    np.array([[1,2,3], [2,3,4]]).transpose()
    np.array([[1,2,3], [2,3,4]]).T
    
    • 1
    • 2

    在这里插入图片描述

    bool判断

    np.array([1,2])!=0
    
    • 1

    在这里插入图片描述

    np.concatenate

    把多层数组/列表展开:np.concatenate

    np.concatenate([[1,2,3], [2,2,3]])
    np.concatenate([[1,2,3], [2,3]])  # 子元素长度不等
    np.concatenate([1,2,3])  # 一维不能使用
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    np.bincount

    统计>=0的整数的出现次数:np.bincount

    np.bincount([1,2,3,6])  # 先找到最大值为6, 然后统计0到6的整数(7个)出现的次数
    np.bincount([1,2])
    np.bincount([0, 0.1,0.2])  # 浮点数则视为0
    np.bincount([-1,-2])  # 负数不可用
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    未完待续。。。

    RandomState
    np.random.RandomState(int_seed)

    default_rng
    np.random.default_rng(int_seed)

    更多:

    • numpy数学运算属性:https://numpy.org/doc/stable/reference/routines.math.html

    编写日志

    2023.10.25:新增
    2023.11.14:增加 np.argmin/max/sort/wherenp.concatenatenp.bincount

  • 相关阅读:
    Vue框架学习记录之环境安装与第一个Vue项目
    Springboot Vue个人简历网站系统java项目源码
    腾讯云短信验证登录
    Win10 OpenCV编译安装CUDA版本
    分布式理论
    Window下线程与线程同步总结
    LeetCode简单题之解密消息
    AtomicReference实现单例模式
    Activiti第二部分
    查询
  • 原文地址:https://blog.csdn.net/sinat_32872729/article/details/134027471