데이터 과학의 경우 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

toAppendElementStoapyThonList, usetHeappend () MethodForsingleElements, extend () formultipleements, andinsert () forspecificpositions.1) useappend () foraddingOneElementatateend.2) usextend () toaddmultipleementsefficially

To TeCreateAtheThonList, usequareBrackets [] andseparateItemswithCommas.1) ListSaredynamicandCanholdMixedDatAtatypes.2) useappend (), remove () 및 SlicingFormAnipulation.3) listlisteforences;) ORSL

금융, 과학 연구, 의료 및 AI 분야에서 수치 데이터를 효율적으로 저장하고 처리하는 것이 중요합니다. 1) 금융에서 메모리 매핑 파일과 Numpy 라이브러리를 사용하면 데이터 처리 속도가 크게 향상 될 수 있습니다. 2) 과학 연구 분야에서 HDF5 파일은 데이터 저장 및 검색에 최적화됩니다. 3) 의료에서 인덱싱 및 파티셔닝과 같은 데이터베이스 최적화 기술은 데이터 쿼리 성능을 향상시킵니다. 4) AI에서 데이터 샤딩 및 분산 교육은 모델 교육을 가속화합니다. 올바른 도구와 기술을 선택하고 스토리지 및 처리 속도 간의 트레이드 오프를 측정함으로써 시스템 성능 및 확장 성을 크게 향상시킬 수 있습니다.

PythonArraysareCreatedusingThearrayModule, Notbuilt-inlikelists.1) importThearrayModule.2) SpecifyTyPeCode (예 : 'forIntegers.3) 초기에 초기화 성과의 공동체 정보가없는 사람들이 플렉스리스트.

Shebang 라인 외에도 Python 통역사를 지정하는 방법에는 여러 가지가 있습니다. 1. 명령 줄에서 직접 Python 명령을 사용하십시오. 2. 배치 파일 또는 쉘 스크립트를 사용하십시오. 3. Make 또는 Cmake와 같은 빌드 도구를 사용하십시오. 4. Invoke와 같은 작업 러너를 사용하십시오. 각 방법에는 장점과 단점이 있으며 프로젝트의 요구에 맞는 방법을 선택하는 것이 중요합니다.

forhandlinglargedatasetsinpython, usenumpyarraysforbetterperformance.1) numpyarraysarememory-effic andfasterfornumericaloperations.2) leveragevectorization foredtimecomplexity.4) managemoryusage withorfications data

inpython, listsusedyammoryAllocation과 함께 할당하고, whilempyarraysallocatefixedMemory.1) listsAllocatemememorythanneedInitiality.

Inpython, youcansspecthedatatypeyfelemeremodelerernspant.1) usenpynernrump.1) usenpynerp.dloatp.ploatm64, 포모 선례 전분자.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Dreamweaver Mac版
시각적 웹 개발 도구