본문 바로가기

1.344

Python 객체의 필드로부터 파이썬 딕셔너리, Python dictionary from an object's fields 질문 무작위 객체에서 사전을 만들기 위한 내장 함수가 있는지 알고 계십니까? 다음과 같은 작업을 수행하고 싶습니다: >>> class Foo: ... bar = 'hello' ... baz = 'world' ... >>> f = Foo() >>> props(f) { 'bar' : 'hello', 'baz' : 'world' } 참고: 메서드는 포함되지 않아야 합니다. 필드만 포함되어야 합니다. 답변 파이썬 2.7에서의 최선의 방법은 new-style 클래스를 사용하는 것입니다 (Python 3에서는 필요하지 않음), 즉, class Foo(object): ... 또한, '객체'와 '클래스' 사이에는 차이가 있습니다. 임의의 객체에서 사전을 구축하기 위해서는 __dict__를 사용하는 것이 충분합니다. 보.. 2023. 10. 25.
Python 열 이름에 따라 판다스 데이터프레임의 열을 정렬하는 방법 [중복], Sorting columns in pandas dataframe based on column name [duplicate] 질문 나는 dataframe을 가지고 있습니다. 이 dataframe은 200개 이상의 열을 가지고 있습니다. 이슈는 생성된 순서입니다. ['Q1.3','Q6.1','Q1.2','Q1.1',......] 다음과 같이 열을 정렬해야 합니다: ['Q1.1','Q1.2','Q1.3',.....'Q6.1',......] Python 내에서 이를 수행할 수 있는 방법이 있을까요? 답변 df = df.reindex(sorted(df.columns), axis=1) 이는 열 이름을 정렬하면 원하는 순서를 얻을 것으로 가정합니다. 열 이름이 사전식으로 정렬되지 않는 경우 (예 : 열 Q10.3이 Q9.1 다음에 나타나길 원하는 경우) 다른 방식으로 정렬해야하지만, 이는 판다스와는 무관합니다. 2023. 10. 25.
Python "TypeError: method()는 1개의 위치 인수를 필요로 하지만 2개가 제공되었습니다" 하지만 저는 하나만 전달했습니다., "TypeError: method() takes 1 positional argument but 2 were given" but I only passed one 질문 만약 내가 클래스를 가지고 있다면... class MyClass: def method(arg): print(arg) ... 나는 객체를 생성하기 위해 사용하는데... my_object = MyClass() ... 내가 method("foo")를 호출하는데... >>> my_object.method("foo") Traceback (most recent call last): File "", line 1, in TypeError: method() takes exactly 1 positional argument (2 given) ... Python이 나에게 두 개의 인자를 주었다고 말하는 이유는 무엇인가요? 하나만 주었는데요? 답변 파이썬에서는 다음과 같습니다: my_object.method("foo") .. 2023. 10. 25.
Python 가상환경 안에서 파이썬이 실행 중인지 확인하세요., Determine if Python is running inside virtualenv 질문 현재 스크립트가 가상 환경 내에서 실행되고 있는지 확인할 수 있을까요? 답변 신뢰할 수 있고 문서화된 방법은 sys.prefix와 sys.base_prefix를 비교하는 것입니다. 동일하다면 가상 환경이 아니고, 그렇지 않다면 가상 환경입니다. 가상 환경 안에서 sys.prefix는 가상 환경의 디렉토리를 가리키고, sys.base_prefix는 환경을 생성한 Python 인터프리터를 가리킵니다. 이는 venv의 작동 방식에 문서화되어 있습니다: 현재 인터프리터가 가상 환경에서 실행 중인지 확인하려면 sys.prefix != sys.base_prefix를 확인하는 것만으로 충분합니다. 이 방법은 Python 표준 라이브러리인 venv와 virtualenv (버전 20부터)에서 작동합니다: def i.. 2023. 10. 24.