python topk()函数求最大和最小值实例

yizhihongxing

Python topk()函数求最大和最小值实例

什么是topk算法?

Topk算法求一个无序数组中前K大或者前K小的值,是大数据处理和数据分析的重要工具。当数据集较大,数据又是无序的时候,topk算法可以有效地挑选出最有代表性的数据。在Python中,可以使用topk()函数实现。

topk()函数的使用方法

语法

heapq.nlargest(n, iterable, key=None)
heapq.nsmallest(n, iterable, key=None)
  • n: 表示选出前n个元素
  • iterable: 表示数据来源,可以为列表、元组、文件等可迭代的对象
  • key: 表示筛选的规则,例如可以指定按照数值大小排序,返回元素的某一个属性等

求一个列表中的前K大或者前K小的值

import heapq

lst = [5, 6, 2, 1, 3, 9, 8, 4, 7]

# 求列表中前3大的值
largest = heapq.nlargest(3, lst)
print(largest)   # [9, 8, 7]

# 求列表中前3小的值
smallest = heapq.nsmallest(3, lst)
print(smallest)  # [1, 2, 3]

求一个字典中前K大或者前K小的值

import heapq

dct = {"a": 5, "b": 6, "c": 2, "d": 1, "e": 3, "f": 9, "g": 8, "h": 4, "i": 7}

# 求字典中前3大的值
largest = heapq.nlargest(3, dct, key=dct.get)
print(largest)   # ['f', 'g', 'i']

# 求字典中前3小的值
smallest = heapq.nsmallest(3, dct, key=dct.get)
print(smallest)  # ['d', 'c', 'h']

这里注意,字典对象中,统计前K大或K小的值,需要指定key函数,根据value进行排序。其他的用法和求列表中前K大或K小的值相同。

通过以上示例,相信你对如何使用Python中的topk()函数求最大和最小值有了更加深入的了解。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python topk()函数求最大和最小值实例 - Python技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • Mac OS下PHP环境搭建及PHP操作MySQL常用方法小结

    Mac OS下PHP环境搭建及PHP操作MySQL常用方法小结 环境搭建 由于Mac OS自带了Apache和PHP,我们只需要安装MySQL即可。 安装MySQL步骤: 下载MySQL安装包https://dev.mysql.com/downloads/mysql/; 运行安装包,按照提示进行安装; 安装完成后,启动MySQL服务:打开终端,输入mysql…

    人工智能概览 2023年5月25日
    00
  • python3通过selenium爬虫获取到dj商品的实例代码

    下面我将详细讲解“python3通过selenium爬虫获取到dj商品的实例代码”的完整攻略步骤,包括一些常见问题和两条示例说明。 简介 Selenium 是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,模拟人为对浏览器的操作。通过 Python 的 selenium 库更可以方便地实现网页爬虫。在本文中,我将演示如何使用 Python3 和 …

    人工智能概论 2023年5月25日
    00
  • 设备APP开发环境配置细节介绍

    下面是设备APP开发环境配置细节介绍的完整攻略。 设备APP开发环境配置细节介绍 1. 安装开发工具 首先需要确保本地已安装开发工具,建议选择Android Studio、Xcode等官方推荐的开发工具,它们对设备APP开发提供了全方位的支持。 2. 配置开发环境 Android 针对Android开发,可以按照以下步骤来配置开发环境: 安装Java环境和A…

    人工智能概览 2023年5月25日
    00
  • OpenCV外接USB摄像头的方法

    下面是关于“OpenCV外接USB摄像头的方法”的完整攻略。 1. 硬件准备 首先需要准备好一台电脑和一台带有USB接口的摄像头设备。需要确保电脑能够识别到摄像头设备。 2. OpenCV环境准备 在开始使用OpenCV的过程中,需要确保已经安装了OpenCV环境。安装方法可以参考OpenCV官方文档。 3. 外接USB摄像头 使用外接USB摄像头可以通过调…

    人工智能概览 2023年5月25日
    00
  • 详解model.train()和model.eval()两种模式的原理与用法

    详解model.train()和model.eval()两种模式的原理与用法 在PyTorch中,训练过程和评估过程存在不同的模式。这两种模式分别由model.train()和model.eval()方法控制,在训练和评估深度学习模型时,这两种模式之间的切换非常重要。 model.train()的原理和用法 当我们在训练模型时,我们可以使用model.tra…

    人工智能概论 2023年5月25日
    00
  • 详解django自定义中间件处理

    当我们使用 Django 时,它通常会根据请求接收到的HTTP头文件(Headers),响应一个HttpResponse对象。但是,我们可能希望在web应用程序的处理请求和响应过程中添加自己的代码逻辑。这时,中间件的概念就出现了。 什么是中间件 中间件是在请求和响应过程中,在Django框架处理请求和响应对象之间执行的可重用组件。中间件可以拦截请求、修改请求…

    人工智能概论 2023年5月25日
    00
  • Pygame与OpenCV联合播放视频并保证音画同步

    为了实现Pygame和OpenCV联合播放视频并保证音画同步,需要按照以下步骤进行: 1. 安装Pygame和OpenCV 首先需要通过pip安装Pygame和OpenCV,命令如下: pip install pygame opencv-python 如果遇到了安装问题,可以考虑更换清华大学的pip源进行安装。 2. 加载视频并提取音频流 使用OpenCV的…

    人工智能概览 2023年5月25日
    00
  • 完美处理python与anaconda环境变量的冲突问题

    针对这个问题,我会提供一份完整的攻略。 1. 什么是环境变量? 在深入讲解这个问题之前,我们首先需要了解一下什么是“环境变量”。环境变量可以理解为是全局变量,可以在不同的程序中被调用。在操作系统中,每个进程都有自己的一组环境变量。 在Windows系统中,我们可以通过“控制台 > 系统和安全 > 系统 > 高级系统设置 > 环境变量”…

    人工智能概览 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部