본문 바로가기

전체 글980

Python 데이터프레임의 열을 정규화하십시오., Normalize columns of a dataframe 질문 나는 각 열이 다른 값 범위를 가진 판다스 데이터프레임을 가지고 있습니다. 예를 들면: df: A B C 1000 10 0.5 765 5 0.35 800 7 0.09 이 데이터프레임의 열을 정규화하여 각 값이 0과 1 사이에 있도록 하는 방법이 있을까요? 원하는 출력은 다음과 같습니다: A B C 1 1 1 0.765 0.5 0.7 0.8 0.7 0.18(즉, 0.09/0.5) 답변 하나의 쉬운 방법은 Pandas를 사용하는 것입니다: (여기에서 평균 정규화를 사용하고 싶습니다) normalized_df=(df-df.mean())/df.std() min-max 정규화를 사용하려면: normalized_df=(df-df.min())/(df.max()-df.min()) 편집: 일부 우려 사항을 해결하기.. 2023. 11. 13.
Python 파이썬에서 del은 언제 유용한가요?, When is del useful in Python? 질문 나는 Python이 del 키워드가 필요한 이유를 정말로 생각할 수 없습니다 (대부분의 언어에서는 유사한 키워드가 없는 것 같습니다). 예를 들어, 변수를 삭제하는 대신 그냥 None을 할당할 수 있습니다. 그리고 딕셔너리에서 삭제할 때는 del 메서드를 추가할 수 있습니다. Python에서 del을 유지해야 하는 이유가 있을까요, 아니면 그것은 Python의 가비지 수집 이전의 유물일까요? 답변 먼저, 로컬 변수 이외의 다른 것들을 삭제할 수 있습니다. list_item[4] 삭제 dictionary["alpha"] 삭제 둘 다 분명히 유용합니다. 둘째로, 로컬 변수에 del을 사용하면 의도가 더 명확해집니다. 다음을 비교해보세요: foo 삭제 와 foo = None del foo의 경우 변수를 .. 2023. 11. 13.
Python timeit 모듈을 사용하는 방법은 다음과 같습니다., How to use timeit module 질문 내가 "insertion_sort"와 "tim_sort"와 같은 내 자신의 함수들의 성능을 비교하기 위해 timeit을 어떻게 사용하나요? 답변 만약 대화식 Python 세션에서 timeit을 사용하고 싶다면, 두 가지 편리한 옵션이 있습니다: IPython 셸을 사용하세요. 이는 편리한 %timeit 특수 함수를 제공합니다: In [1]: def f(x): ...: return x*x ...: In [2]: %timeit for x in range(100): f(x) 100000 loops, best of 3: 20.3 us per loop 표준 Python 인터프리터에서는, 대화식 세션 동안 이전에 정의한 함수와 다른 이름들에 접근하기 위해 설정 구문에서 __main__으로부터 import 할 .. 2023. 11. 11.
Python 다른 스크립트에서 스크립트를 호출하는 방법은 무엇인가요?, How to call a script from another script? 질문 나는 test1.py라는 스크립트를 가지고 있다. 이 스크립트는 모듈 안에 있지 않다. 스크립트 자체가 실행될 때 코드가 실행되어야 한다. 함수, 클래스, 메소드 등은 없다. 다른 스크립트가 서비스로 실행되도록 한다. 서비스로 실행되는 스크립트에서는 test1.py를 호출하고 싶다. 예를 들면: 파일 test1.py: print "I am a test" print "see! I do nothing productive." 파일 service.py: # 많은 내용들이 여기에 있음 test1.py # test1.py에 있는 내용을 실행 답변 이를 수행하는 일반적인 방법은 다음과 같습니다. test1.py def some_func(): print 'in test 1, unproductive' if __na.. 2023. 11. 11.
Python 파이썬 3에서 "nonlocal"은 어떤 역할을 하는가요?, What does "nonlocal" do in Python 3? 질문 파이썬 3.x에서 nonlocal은 무엇을 하는가요? OP가 nonlocal이 필요하다는 것을 깨닫지 못하고 디버깅 질문을 닫을 때는, 대신 외부 범위에서 변수를 수정할 수 있는가요?를 사용해주세요. 파이썬 2는 2020년 1월 1일부로 공식적으로 지원이 종료되었지만, 만약 어떤 이유로 인해 여전히 파이썬 2.x 코드를 유지해야하고 nonlocal에 해당하는 기능이 필요하다면, Python 2.x에서의 nonlocal 키워드를 참조하세요. 답변 이것을 사용하지 않고 비교해보면 nonlocal을 사용한 경우: x = 0 def outer(): x = 1 def inner(): x = 2 print("inner:", x) inner() print("outer:", x) outer() print("glo.. 2023. 11. 11.
Python 파이썬 대화형 세션을 어떻게 저장할 수 있나요?, How to save a Python interactive session? 질문 나는 자주 Python의 인터프리터를 사용하여 데이터베이스, 파일 등과 작업합니다. 기본적으로 반구조적 데이터의 많은 수동 형식을 처리합니다. 유용한 부분을 제대로 저장하고 정리하는 일은 제가 원하는만큼 자주하지 않습니다. 대화형 세션의 이력을 저장할 수 있는 방법이 있을까요 (데이터베이스 연결, 변수 할당, 작은 for 루프 및 논리의 일부)? script와 같은 것을 사용하면 너무 많은 stdout 노이즈가 발생합니다. 모든 객체를 pickle하는 것은 정말 필요하지 않습니다. 하지만 그렇게 하는 해결책이 있다면 괜찮습니다. 이상적으로는 대화형으로 작성한 것과 동일하게 실행되는 스크립트만 남기고 필요없는 부분을 삭제할 수 있습니다. 이 작업을 수행하는 패키지나 자체 개발 방법이 있을까요? 답변 .. 2023. 11. 11.
Python 파일의 MD5 체크섬 생성, Generating an MD5 checksum of a file 질문 파이썬에서 파일 목록의 MD5 체크섬을 생성하고 확인하는 간단한 방법이 있을까요? (작업 중인 작은 프로그램이 있고, 파일의 체크섬을 확인하고 싶습니다). 답변 당신은 hashlib.md5()을(를) 사용할 수 있습니다. 가끔 전체 파일을 메모리에 넣을 수 없을 때가 있습니다. 그런 경우에는 4096바이트의 청크를 순차적으로 읽고 md5 메서드에 전달해야 합니다: import hashlib def md5(fname): hash_md5 = hashlib.md5() with open(fname, "rb") as f: for chunk in iter(lambda: f.read(4096), b""): hash_md5.update(chunk) return hash_md5.hexdigest() 참고: hash.. 2023. 11. 11.
Python 사전의 멤버에 접근하기 위해 점(.)을 사용하는 방법은 어떻게 되나요?, How to use a dot "." to access members of dictionary? 질문 파이썬 딕셔너리의 멤버에 점 "."을 통해 접근하는 방법은 무엇인가요? 예를 들어, mydict['val'] 대신에 mydict.val로 작성하고 싶습니다. 또한, 이러한 방식으로 중첩된 딕셔너리에 접근하고 싶습니다. 예를 들어 mydict.mydict2.val 는 다음을 가리킬 것입니다. mydict = { 'mydict2': { 'val': ... } } 답변 항상 이를 유틸 파일에 보관해왔습니다. 여러분은 자신의 클래스에도 mixin으로 사용할 수 있습니다. class dotdict(dict): """dictionary 속성에 대한 점 표기법 접근""" __getattr__ = dict.get __setattr__ = dict.__setitem__ __delattr__ = dict.__deli.. 2023. 11. 11.