본문 바로가기

efficiency3.2

Python NumPy에서 빈 배열을 생성한 다음에 어떻게 해당 배열에 추가할 수 있나요?, How do I create an empty array and then append to it in NumPy? 질문 나는 빈 배열을 만들고 항목을 하나씩 추가하고 싶습니다. xs = [] for item in data: xs.append(item) NumPy 배열에서 이 리스트 스타일 표기법을 사용할 수 있을까요? 답변 NumPy를 효율적으로 사용하기 위한 잘못된 메타 모델입니다. NumPy 배열은 연속적인 메모리 블록에 저장됩니다. 기존 배열에 행 또는 열을 추가하려면 전체 배열을 새로운 메모리 블록으로 복사해야 하며, 새로운 요소를 저장하기 위해 간격이 생깁니다. 이는 반복적으로 수행되면 매우 비효율적입니다. 행을 추가하는 대신에 적절한 크기의 배열을 할당하고, 행별로 할당하세요: >>> import numpy as np >>> a = np.zeros(shape=(3, 2)) >>> a array([[ 0.,.. 2023. 12. 4.
Python 문자열에서 구두점을 제거하는 가장 좋은 방법, Best way to strip punctuation from a string 질문 더 간단한 방법이 있어야 할 것 같습니다: import string s = "string. With. Punctuation?" # 샘플 문자열 out = s.translate(string.maketrans("",""), string.punctuation) 있을까요? 답변 효율적인 관점에서, 다음을 이길 수는 없습니다. s.translate(None, string.punctuation) Python의 더 높은 버전에서는 다음 코드를 사용하십시오: s.translate(str.maketrans('', '', string.punctuation)) 이는 C에서 룩업 테이블을 사용하여 원시 문자열 작업을 수행합니다. 이를 이길 수 있는 것은 C 코드를 직접 작성하는 것뿐입니다. 속도가 걱정되지 않는다면, 다.. 2023. 6. 30.