데이터 과학의 경우 Python은 일반적으로 데이터 처리 및 변환에 널리 사용됩니다. 데이터 처리를 더욱 유연하게 만드는 강력한 데이터 구조 처리 기능을 제공합니다. 여기서 "유연성"은 무엇을 의미하나요? Python에서 동일한 결과를 얻으려면 항상 다양한 방법이 있으므로 사용하기 쉽고 시간을 절약하며 더 나은 제어 기능을 제공하는 방법을 선택해야 합니다.
이 모든 방법을 익히는 것은 불가능합니다. 따라서 모든 유형의 데이터로 작업할 때 알아야 할 4가지 Python 팁 목록은 다음과 같습니다.
List Comprehension은 목록을 생성하는 우아하고 가장 Python 친화적인 방법입니다. for 루프 및 if 문과 비교하여 목록 내포는 기존 목록의 값을 기반으로 새 목록을 생성하는 구문이 훨씬 더 짧습니다. 그러면 이 기능이 어떻게 목록의 복사본을 가져오는지 살펴보겠습니다.
목록 이해를 사용하여 목록 복사
때로는 기존 목록의 복사본을 만들어야 할 때가 있습니다. 가장 간단한 대답은 .copy()입니다. 이를 통해 한 목록의 내용을 다른(새) 목록으로 복사할 수 있습니다.
예를 들어, 원래_목록의 정수 목록입니다.
original_list = [10,11,20,22,30,34]
이 목록은 .copy() 메서드를 사용하여 간단히 복사할 수 있습니다.
duplicated_list = original_list.copy()
목록 이해를 사용하여 정확히 동일한 출력을 얻을 수 있습니다. 목록 복사는 목록 이해를 이해하는 좋은 예입니다.
아래 코드를 보세요.
duplicated_list = [item for item in original_list]
목록을 복사할 때 List Comprehension을 사용하는 것이 더 좋다는 것이 아니라, List Comprehension의 작업 방식을 소개하기에 이 사례가 가장 좋다는 뜻입니다.
다음으로, 목록의 각 요소에 대해 수학적 연산을 수행할 때 목록 이해가 어떻게 삶을 쉽게 만드는지 살펴보겠습니다.
목록의 요소 곱하기
가장 간단하고 직접적인 곱셈 방법은 *
인 곱셈 연산자를 사용하는 것입니다. 예를 들어 목록의 각 항목에 스칼라(예: 숫자 5)를 곱하려고 합니다. . 목록의 복사본이 5개 생성되므로 여기서는 절대로 사용할 수 없습니다.
이 시나리오에서 가장 좋은 대답은 아래와 같이 목록 이해입니다.
original_list = [10,11,20,22,30,34] multiplied_list = [item*5 for item in original_list] # Output [50, 55, 100, 110, 150, 170]
여기서의 연산은 숫자를 곱하는 것에만 국한되지 않습니다. 원본 목록의 각 요소에 대해 복잡한 작업을 수행할 수 있습니다.
예를 들어, 각 항의 제곱근의 세제곱을 계산한다고 가정하면 한 줄로 풀 수 있습니다.
multiplied_list = [math.sqrt(item)**3 for item in original_list] # Output [31.6227766016838, 36.4828726939094, 89.4427190999916, 103.18914671611546, 164.31676725154983, 198.25236442474025]
숫자의 제곱근을 계산하는 데 사용되는 sqrt 함수는 수학 라이브러리에 속하므로 이 경우 사용하기 전에 가져와야 합니다.
위에 표시된 내장 함수와 유사하게 목록의 각 요소에 사용자 정의 함수를 사용할 수도 있습니다.
예를 들어 아래와 같은 간단한 함수입니다.
def simple_function(item): item1 = item*10 item2 = item*11 return math.sqrt(item1**2 + item2**2)
이 사용자 정의 함수를 목록의 각 항목에 적용할 수 있습니다.
multiplied_list = [simple_function(item) for item in original_list] # Output [148.66068747318505, 163.52675622050356, 297.3213749463701, 327.0535124410071, 445.9820624195552, 505.4463374088292]
List comprehension은 실제 시나리오에서 훨씬 더 유용합니다. 일반적으로 분석 작업에서는 nan 요소 제거와 같이 목록에서 특정 유형의 요소를 삭제해야 합니다. 목록 이해는 이러한 작업을 위한 완벽한 도구입니다.
목록에서 요소 제거
특정 기준에 따라 데이터를 필터링하는 것은 필요한 데이터 세트를 선택하는 일반적인 작업 중 하나이며, 목록 이해에도 동일한 논리가 사용됩니다.
아래에 언급된 숫자 목록이 있다고 가정해보세요.
original_list = [10, 22, -43, 0, 34, -11, -12, -0.1, 1]
이 목록에서 양수 값만 유지하고 싶습니다. 따라서 논리적으로 조건부 항목 > 0에 대해 TRUE로 평가되는 항목만 유지하려고 합니다.
new_list = [item for item in original_list if item > 0] # Output [10, 22, 34, 1]
if 절은 음수 값을 삭제하는 데 사용됩니다. if 절을 사용하여 조건을 적용하면 목록에서 항목을 제거할 수 있습니다.
예를 들어 제곱이 200보다 작은 모든 항을 삭제하려면 아래와 같이 목록 합성에서 조건항 **2 > 200을 언급하기만 하면 됩니다.
new_list = [item for item in original_list if item**2 > 200] # Output [22, -43, 34]
실제 데이터 세트를 다룰 때 목록 항목 필터링 조건은 훨씬 더 복잡할 수 있지만 이 방법은 빠르고 이해하기 쉽습니다.
dict()를 사용하여 두 목록을 사전 키-값 쌍으로 변환합니다.
두 목록의 값에서 사전을 만들어야 하는 경우가 있습니다. 하나씩 입력하는 대신 사전을 만드는 우아하고 간결한 방법인 사전 이해(
dictionarycomprehension)를 사용할 수 있습니다. 리스트 이해와 정확히 동일하게 작동하지만 차이점은 다음과 같습니다. List Comprehension을 만들려면 모든 것을 []와 같은 대괄호로 묶는 반면, Dictionary Comprehension에서는 모든 것을 {}와 같은 중괄호로 묶습니다.
아래와 같이 필드와 세부정보라는 두 개의 목록이 있다고 가정합니다.
fields = [‘name’, ‘country’, ‘age’, ‘gender’] details = [‘pablo’, ‘Mexico’, 30, ‘Male’]
간단한 방법은 이렇게 사전 독해를 사용하는 것입니다. -
new_dict = {key: value for key, value in zip(fields, details)} # Output {'name': 'pablo', 'country': 'Mexico', 'age': 30, 'gender': 'Male'}
여기서 이해해야 할 중요한 것은 zip 기능이 어떻게 작동하는지입니다.
Python에서 zip 함수는 문자열, 목록 또는 사전과 같은 반복 가능한 개체를 입력으로 받아들이고 이를 튜플로 집계하여 반환합니다.
이 경우 zip은 목록 필드와 세부정보에서 각 항목의 쌍을 구성했습니다. 사전 이해에서 키:값을 사용할 때 이 튜플을 개별 키-값 쌍으로 압축을 풀면 됩니다.
Python에 내장된 dict() 생성자를 사용하면(사전 생성을 위해) dict()가 사전 이해보다 최소 1.3배 빠르기 때문에 프로세스가 더욱 빨라집니다
따라서 이 생성자를 훨씬 간단한 구문을 갖는 zip() 함수와 함께 사용해야 합니다 - dict(zip(fields, Details))
요약
처음에 언급했듯이 Python은 매우 유연합니다. 동일한 결과를 얻는 방법은 여러 가지가 있습니다. 작업의 복잡성에 따라 이를 달성하는 가장 좋은 방법을 선택해야 합니다.
이 글이 도움이 되셨으면 좋겠습니다. 이 글에서 언급한 것과 동일한 작업을 수행할 수 있는 다른 방법이 있다면 알려주시기 바랍니다.
위 내용은 코드를 더욱 효율적으로 만드는 네 가지 Python 연역적 개발 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

译者 | 李睿审校 | 孙淑娟随着Python越来越受欢迎,其局限性也越来越明显。一方面,编写Python应用程序并将其分发给没有安装Python的人员可能非常困难。解决这一问题的最常见方法是将程序与其所有支持库和文件以及Python运行时打包在一起。有一些工具可以做到这一点,例如PyInstaller,但它们需要大量的缓存才能正常工作。更重要的是,通常可以从生成的包中提取Python程序的源代码。在某些情况下,这会破坏交易。第三方项目Nuitka提供了一个激进的解决方案。它将Python程序编

今天这篇文章的重点是使用 ChatGPT API 创建私人语音 Chatbot Web 应用程序。目的是探索和发现人工智能的更多潜在用例和商业机会。我将逐步指导您完成开发过程,以确保您理解并可以复制自己的过程。为什么需要不是每个人都欢迎基于打字的服务,想象一下仍在学习写作技巧的孩子或无法在屏幕上正确看到单词的老年人。基于语音的 AI Chatbot 是解决这个问题的方法,就像它如何帮助我的孩子要求他的语音 Chatbot 给他读睡前故事一样。鉴于现有可用的助手选项,例如,苹果的 Siri 和亚马

ChatGPT 目前彻底改变了开发代码的方式,然而,大多数软件开发人员和数据专家仍然没有使用 ChatGPT 来改进和简化他们的工作。这就是为什么我在这里概述 5 个不同的功能,以提高我们的日常工作速度和质量。我们可以在日常工作中使用它们。现在,我们一起来了解一下吧。注意:切勿在 ChatGPT 中使用关键代码或信息。01.生成项目代码的框架从头开始构建新项目时,ChatGPT 是我的秘密武器。只需几个提示,它就可以生成我需要的代码框架,包括我选择的技术、框架和版本。它不仅为我节省了至少一个小时

测试时自适应(Test-TimeAdaptation,TTA)方法在测试阶段指导模型进行快速无监督/自监督学习,是当前用于提升深度模型分布外泛化能力的一种强有效工具。然而在动态开放场景中,稳定性不足仍是现有TTA方法的一大短板,严重阻碍了其实际部署。为此,来自华南理工大学、腾讯AILab及新加坡国立大学的研究团队,从统一的角度对现有TTA方法在动态场景下不稳定原因进行分析,指出依赖于Batch的归一化层是导致不稳定的关键原因之一,另外测试数据流中某些具有噪声/大规模梯度的样本

哈喽,大家好。之前给大家分享过摔倒识别、打架识别,今天以摔倒识别为例,我们看看能不能完全交给ChatGPT来做。让ChatGPT来做这件事,最核心的是如何向ChatGPT提问,把问题一股脑的直接丢给ChatGPT,如:用 Python 写个摔倒检测代码 是不可取的, 而是要像挤牙膏一样,一点一点引导ChatGPT得到准确的答案,从而才能真正让ChatGPT提高我们解决问题的效率。今天分享的摔倒识别案例,与ChatGPT对话的思路清晰,代码可用度高,按照GPT返回的结果完全可以开

自 2020 年以来,内容开发领域已经感受到人工智能工具的存在。1.Jasper AI网址:https://www.jasper.ai在可用的 AI 文案写作工具中,Jasper 作为那些寻求通过内容生成赚钱的人来讲,它是经济实惠且高效的选择之一。该工具精通短格式和长格式内容均能完成。Jasper 拥有一系列功能,包括无需切换到模板即可快速生成内容的命令、用于创建文章的高效长格式编辑器,以及包含有助于创建各种类型内容的向导的内容工作流,例如,博客文章、销售文案和重写。Jasper Chat 是该

1970年,机器人专家森政弘(MasahiroMori)首次描述了「恐怖谷」的影响,这一概念对机器人领域产生了巨大影响。「恐怖谷」效应描述了当人类看到类似人类的物体,特别是机器人时所表现出的积极和消极反应。恐怖谷效应理论认为,机器人的外观和动作越像人,我们对它的同理心就越强。然而,在某些时候,机器人或虚拟人物变得过于逼真,但又不那么像人时,我们大脑的视觉处理系统就会被混淆。最终,我们会深深地陷入一种对机器人非常消极的情绪状态里。森政弘的假设指出:由于机器人与人类在外表、动作上相似,所以人类亦会对

译者 | 李睿审校 | 孙淑娟信使、网络服务和其他软件都离不开机器人(bot)。而在软件开发和应用中,机器人是一种应用程序,旨在自动执行(或根据预设脚本执行)响应用户请求创建的操作。在本文中, NIX United公司的.NET开发人员Daniil Mikhov介绍了使用微软Azure Bot Services创建聊天机器人的一个例子。本文将对想要使用该服务开发聊天机器人的开发人员有所帮助。 为什么使用Azure Bot Services? 在Azure Bot Services上开发聊


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.
