본문 바로가기

전체 글980

Python 서브스트링의 모든 발생을 찾는 방법은 무엇인가요?, How to find all occurrences of a substring? 질문 파이썬에는 string.find()과 string.rfind()가 있어 문자열에서 부분 문자열의 인덱스를 가져올 수 있습니다. string.find_all()과 같이 모든 찾은 인덱스를 반환할 수 있는 함수가 있는지 궁금합니다 (시작부터 첫 번째 또는 끝에서 첫 번째만 반환하는 것이 아니라). 예를 들어: string = "test test test test" print string.find('test') # 0 print string.rfind('test') # 15 # 이게 목표입니다 print string.find_all('test') # [0,5,10,15] 발생 횟수를 계산하려면 문자열에서 부분 문자열의 발생 횟수 세기를 참조하세요. 답변 원하는 기능을 수행하는 간단한 내장 문자열 함수는 .. 2023. 9. 16.
Python 판다스 열의 값을 사전으로 다시 매핑하고 NaN을 보존합니다., Remap values in pandas column with a dict, preserve NaNs 질문 다음과 같은 딕셔너리가 있습니다: di = {1: "A", 2: "B"} 이를 다음과 같은 데이터프레임의 col1 열에 적용하고 싶습니다: col1 col2 0 w a 1 1 2 2 2 NaN 다음과 같이 결과를 얻고 싶습니다: col1 col2 0 w a 1 A 2 2 B NaN 어떻게 가장 잘 할 수 있을까요? 답변 .replace를 사용할 수 있습니다. 예를 들어: >>> df = pd.DataFrame({'col2': {0: 'a', 1: 2, 2: np.nan}, 'col1': {0: 'w', 1: 1, 2: 2}}) >>> di = {1: "A", 2: "B"} >>> df col1 col2 0 w a 1 1 2 2 2 NaN >>> df.replace({"col1": di}) col1 .. 2023. 9. 16.
Python 사전을 데이터프레임으로 변환하세요., Convert Python dict into a dataframe 질문 나는 Python 사전을 가지고 있습니다: {u'2012-06-08': 388, u'2012-06-09': 388, u'2012-06-10': 388, u'2012-06-11': 389, u'2012-06-12': 389, u'2012-06-13': 389, u'2012-06-14': 389, u'2012-06-15': 389, u'2012-06-16': 389, u'2012-06-17': 389, u'2012-06-18': 390, u'2012-06-19': 390, u'2012-06-20': 390, u'2012-06-21': 390, u'2012-06-22': 390, u'2012-06-23': 390, u'2012-06-24': 390, u'2012-06-25': 391, u'2012-06-.. 2023. 9. 16.
Python 일부 함수들은 왜 함수 이름 앞뒤에 언더스코어 "__"가 있는 걸까요?, Why do some functions have underscores "__" before and after the function name? 질문 이 "밑줄"은 자주 발생하는 것 같은데, 이것은 파이썬 언어의 요구사항인지 아니면 단지 관습의 문제인지 궁금했습니다. 또한, 어떤 함수들이 밑줄을 가지고 있는지 그리고 왜 (__init__ 같은) 밑줄을 가지고 있는지 이름과 설명을 알려주실 수 있을까요? 답변 파이썬 PEP 8 -- 파이썬 코드 스타일 가이드에서 다음을 발췌: 기술적: 네이밍 스타일 다음과 같은 선행 또는 후행 밑줄을 사용한 특수 형식이 인식됩니다 (이러한 형식은 일반적으로 모든 케이스 규칙과 결합될 수 있음): _single_leading_underscore: 약한 "내부 사용" 표시자입니다. 예를 들어 from M import *은 밑줄로 시작하는 객체를 가져오지 않습니다. single_trailing_underscore_: 파.. 2023. 9. 16.
Python 파이썬을 사용하여 문자열의 각 문자를 반복하는 방법입니다., Iterating each character in a string using Python 질문 Python에서 문자열을 반복하는 방법은 무엇인가요 (각 문자를 한 번에 한 번씩 루프를 통해 가져오는 방법)? 답변 요한네스가 가리킨 것처럼, for c in "string": #do something with c for loop 구조를 사용하여 Python에서 거의 모든 것을 반복할 수 있습니다. 예를 들어, open("file.txt")은 파일 객체를 반환하며 (파일을 열기도 함), 해당 파일의 각 줄을 반복합니다. with open(filename) as f: for line in f: # do something with line 만약 그것이 마법처럼 보인다면, 그렇게 맞는데, 그 뒤에 있는 아이디어는 정말로 간단합니다. for 루프가 작동하도록 어떤 종류의 객체에도 적용할 수 있는 간단한 .. 2023. 9. 16.
Python 모듈 내의 모든 함수를 나열하는 방법은 무엇인가요?, How to list all functions in a module? 질문 내 시스템에는 Python 모듈이 설치되어 있으며 해당 모듈에서 사용 가능한 함수/클래스/메서드를 확인하고 싶습니다. 각각에 대해 help 함수를 호출하고 싶습니다. 루비에서는 ClassName.methods와 같은 방식으로 해당 클래스에서 사용 가능한 모든 메서드 목록을 가져올 수 있습니다. 파이썬에서도 유사한 기능이 있을까요? 예를 들어 다음과 같이: from somemodule import foo print(foo.methods) # 또는 올바른 호출 방법이 무엇인지 답변 모든 사용 가능한 메소드/속성을 확인하려면 dir(module)을(를) 사용할 수 있습니다. 또한 PyDocs도 확인해보세요. 2023. 9. 16.
Python 콘다 환경을 어떻게 이름을 변경할 수 있을까요?, How can I rename a conda environment? 질문 나는 old_name이라는 conda 환경을 가지고 있습니다. 어떻게 하면 참조를 깨지 않고 그 이름을 new_name으로 변경할 수 있을까요? 답변 새로운 답변: Conda 4.14부터는 다음과 같이 사용할 수 있습니다: conda rename -n old_name new_name 하지만 실제로는 conda rename은 여전히 [1][2]의 conda create와 conda remove의 조합을 사용합니다. 드라이-런을 위해 -d 플래그를 사용하세요 (v22.11.0부터는 대상이 아닙니다). conda rename -n old_name -d new_name 이전 답변: 불가능합니다. 한 가지 해결책은 새로운 환경을 생성한 다음 원래 환경을 제거하는 것입니다. 먼저, 현재 환경을 비활성화하는 것.. 2023. 9. 16.
Python '/'와 '//'를 나눗셈에 사용할 때 차이점은 무엇인가요?, What is the difference between '/' and '//' when used for division? 질문 하나를 사용하는 것보다 다른 것을 사용하는 것에 이점이 있을까요? Python 2에서는 두 가지 모두 동일한 결과를 반환하는 것으로 보입니다: >>> 6/3 2 >>> 6//3 2 답변 파이썬 3.x에서 5 / 2는 2.5를 반환하고 5 // 2는 2를 반환합니다. 전자는 부동 소수점 나눗셈이고, 후자는 버림 나눗셈 또는 정수 나눗셈이라고도 합니다. 파이썬 2.2 이후의 2.x 라인에서는 정수에 대한 차이가 없습니다. 단, from __future__ import division을 수행하면 파이썬 2.x가 3.x 동작을 채택합니다. 미래 가져오기와 관계없이 5.0 // 2는 연산의 버림 나눗셈 결과인 2.0을 반환합니다. 자세한 설명은 PEP 238: Changing the Division Oper.. 2023. 9. 16.