본문 바로가기

Python576

'//'가 Python에서 사용되는 이유는 무엇인가요? [중복], What is the reason for having '//' in Python? [duplicate] 질문 나는 누군가의 코드에서 이것을 보았습니다: y = img_index // num_images 여기서 img_index는 실행 중인 인덱스이고 num_images는 3입니다. //를 IPython에서 실험해보면, 두 개의 슬래시가 디비전 기호(즉, 하나의 슬래시)와 똑같이 작동하는 것처럼 보입니다. 그래서 두 개의 슬래시를 사용하는 이유가 있는지 궁금했습니다. 답변 파이썬 3에서는 / 연산자가 부동 소수점 나눗셈을 수행하고, // 연산자가 정수 나눗셈(나머지 없는 몫)을 수행하도록 변경되었습니다. 반면에 파이썬 2에서는 / 연산자가 이미 부동 소수점 숫자인 피연산자 중 하나라면 정수 나눗셈을 수행하였습니다. 파이썬 2.X에서: >>> 10/3 3 >>> # 정수 나눗셈에서 부동 소수점 수를 얻으려면:.. 2023. 10. 26.
Python 시본(seaborn) 축 또는 그림 수준 플롯의 그림 크기를 변경하는 방법, How to change the figure size of a seaborn axes or figure level plot 질문 어떻게 이미지 크기를 변경하여 인쇄에 적합하게 할 수 있을까요? 예를 들어, 가로 방향으로 11.7 인치, 세로 방향으로 8.27 인치인 A4 용지를 사용하고 싶습니다. 답변 다음과 같이 seaborn의 set 메서드에서 rc 매개변수에 대한 키 'figure.figsize'와 함께 사전을 전달하여 그림 크기를 설정할 수도 있습니다: import seaborn as sns sns.set(rc={'figure.figsize':(11.7,8.27)}) 또 다른 대안은 다음과 같이 rcParams의 figure.figsize를 사용하여 그림 크기를 설정하는 것입니다: from matplotlib import rcParams # 인치로 된 그림 크기 rcParams['figure.figsize'] = 11.. 2023. 10. 26.
Python 파이썬에서 정규 표현식에 맞는 모든 일치 항목을 어떻게 찾을 수 있을까요?, How can I find all matches to a regular expression in Python? 질문 내가 작성 중인 프로그램에서, 파이썬은 re.search() 함수를 사용하여 텍스트 블록에서 일치하는 항목을 찾고 결과를 출력합니다. 그러나 프로그램은 텍스트 블록에서 첫 번째 일치 항목을 찾으면 종료됩니다. 모든 일치 항목이 찾아질 때까지 프로그램이 중단되지 않고 반복적으로 이 작업을 어떻게 수행할 수 있을까요? 이 작업을 수행하는 별도의 함수가 있을까요? 답변 대신 re.findall 또는 re.finditer를 사용하세요. re.findall(pattern, string)은 일치하는 문자열의 목록을 반환합니다. re.finditer(pattern, string)은 MatchObject 객체의 반복자를 반환합니다. 예시: re.findall( r'all (.*?) are', 'all cats a.. 2023. 10. 26.
Python 데이터프레임에 빈 열을 추가하는 방법은 무엇인가요?, How to add an empty column to a dataframe? 질문 판다스 DataFrame 객체에 빈 열을 추가하는 가장 쉬운 방법은 무엇인가요? 제가 찾아낸 최선의 방법은 다음과 같습니다. df['foo'] = df.apply(lambda _: '', axis=1) 더 괴상한 방법은 없을까요? 답변 만약 제대로 이해했다면, 할당은 다음을 채워야 합니다: >>> import numpy as np >>> import pandas as pd >>> df = pd.DataFrame({"A": [1,2,3], "B": [2,3,4]}) >>> df A B 0 1 2 1 2 3 2 3 4 >>> df["C"] = "" >>> df["D"] = np.nan >>> df A B C D 0 1 2 NaN 1 2 3 NaN 2 3 4 NaN 2023. 10. 26.