본문 바로가기

전체 글980

Python NumPy에서 CSV 데이터를 레코드 배열로 어떻게 읽을 수 있나요?, How do I read CSV data into a record array in NumPy? 질문 CSV 파일의 내용을 레코드 배열로 직접 가져올 수 있는 방법이 있을까요? 마치 R의 read.table(), read.delim(), read.csv() 함수가 데이터를 R 데이터프레임으로 가져오는 것처럼 말이죠. 아니면 csv.reader()를 사용한 다음에 numpy.core.records.fromrecords()를 적용해야 할까요? 답변 다음과 같은 HTML을 한국어로 번역하되, HTML 태그와 태그 안의 텍스트는 영어로 보존하세요. numpy.genfromtxt()를 사용하여 delimiter 인수를 쉼표로 설정하세요: from numpy import genfromtxt my_data = genfromtxt('my_file.csv', delimiter=',') 2023. 9. 19.
Python 반복자(iterator), 반복 가능한(iterable), 반복(iteration)은 무엇인가요?, What are iterator, iterable, and iteration? 질문 파이썬에서 "iterable", "iterator", 그리고 "iteration"은 무엇인가요? 이들은 어떻게 정의되나요? 참고: 기본 이터레이터를 어떻게 만들까요? 답변 반복은 한 번에 하나씩 각 항목을 가져오는 것에 대한 일반적인 용어입니다. 루프를 사용하여 항목 그룹을 반복하는 경우(명시적 또는 암시적), 그것은 반복입니다. 파이썬에서 반복 가능한(iterable)과 반복자(iterator)는 특정한 의미를 가지고 있습니다. 반복 가능한(iterable)은 __iter__ 메서드를 반환하거나 0부터 시작하는 연속적인 인덱스를 사용할 수 있는 __getitem__ 메서드를 정의하는 객체입니다(IndexError가 더 이상 유효하지 않을 때 발생). 따라서 반복 가능한(iterable)은 반복자(.. 2023. 9. 19.
Python 대화식으로 모듈을 다시 가져오기, Reimport a module while interactive 질문 모듈을 다시 가져오는 방법은 어떻게 되나요? .py 파일을 수정한 후 모듈을 다시 가져오고 싶습니다. 답변 Python 3.4+의 경우: import importlib importlib.reload(nameOfModule) Python < 3.4의 경우: reload(my.module) Python 문서에서 가져왔습니다. 이전에 가져온 모듈을 다시 불러옵니다. 인수는 모듈 객체여야 하므로 이전에 성공적으로 가져와야 합니다. 이 기능은 모듈 소스 파일을 외부 편집기를 사용하여 편집한 후 Python 인터프리터를 종료하지 않고 새 버전을 시도하려는 경우 유용합니다. 이 방법을 사용할 때 유의해야 할 사항을 잊지 마세요: 모듈을 다시 불러올 때 모듈의 사전(모듈의 전역 변수를 포함하는)은 유지됩니다. 이.. 2023. 9. 19.
Python 파이썬 단위 테스트는 어디에 위치해야 하나요? [닫힘], Where do the Python unit tests go? [closed] 질문 If you're writing a library, or an app, where do the unit test files go? It's nice to separate the test files from the main app code, but it's awkward to put them into a "tests" subdirectory inside of the app root directory, because it makes it harder to import the modules that you'll be testing. Is there a best practice here? 답변 파일 module.py의 경우, 일반적으로 유닛 테스트는 Pythonic 네이밍 규칙을 따라 test_module.. 2023. 9. 19.
Python 정수 인덱스로 판다스 시리즈/데이터프레임의 행 선택, Selecting a row of pandas series/dataframe by integer index 질문 나는 df[2]가 지원되지 않는 이유에 대해 궁금합니다. 반면에 df.ix[2]와 df[2:3]는 모두 작동합니다. In [26]: df.ix[2] Out[26]: A 1.027680 B 1.514210 C -1.466963 D -0.162339 Name: 2000-01-03 00:00:00 In [27]: df[2:3] Out[27]: A B C D 2000-01-03 1.02768 1.51421 -1.466963 -0.162339 나는 df[2]가 Python 인덱싱 규칙과 일관되도록 df[2:3]와 동일하게 작동할 것으로 예상합니다. 단일 정수로 행을 인덱싱하는 것을 지원하지 않는 설계적인 이유가 있을까요? 답변 echoing @HYRY, see the new docs in 0.11 http:.. 2023. 9. 18.
Python 파이썬의 '__enter__'와 '__exit__'를 설명합니다., Explaining Python's '__enter__' and '__exit__' 질문 나는 이것을 누군가의 코드에서 보았습니다. 이게 무슨 뜻인가요? def __enter__(self): return self def __exit__(self, type, value, tb): self.stream.close() 여기에 완전한 코드가 있습니다. from __future__ import with_statement#for python2.5 class a(object): def __enter__(self): print 'sss' return 'sss111' def __exit__(self ,type, value, traceback): print 'ok' return False with a() as s: print s print s 답변 이러한 마법 메서드(__enter__, __exit__).. 2023. 9. 18.
Python 두 값 사이에 숫자가 포함된 목록을 어떻게 만들 수 있나요?, How do I create a list with numbers between two values? 질문 두 값 사이에 오름차순 리스트를 어떻게 생성하나요? 예를 들어, 11과 16 사이의 리스트: [11, 12, 13, 14, 15, 16] 답변 사용 range. 파이썬 2에서는 리스트를 직접 반환합니다: >>> range(11, 17) [11, 12, 13, 14, 15, 16] 파이썬 3에서는 range는 이터레이터입니다. 이를 리스트로 변환하려면: >>> list(range(11, 17)) [11, 12, 13, 14, 15, 16] 참고: range(start, stop)의 두 번째 숫자는 배제됩니다. 따라서 stop = 16+1 = 17입니다. 0.5씩 증가하려면 numpy의 arange()와 .tolist()를 고려하세요: >>> import numpy as np >>> np.arange(.. 2023. 9. 18.
Python 로그 축 그래프, Plot logarithmic axes 질문 matplotlib를 사용하여 로그축 하나를 가진 그래프를 그리고 싶습니다. 문서를 읽어보았지만 구문을 이해하지 못했습니다. 아마도 플롯 인수에 'scale=linear'와 같은 간단한 것일 것 같지만 제대로 작동하지 않습니다. 샘플 프로그램: import pylab import matplotlib.pyplot as plt a = [pow(10, i) for i in range(10)] fig = plt.figure() ax = fig.add_subplot(2, 1, 1) line, = ax.plot(a, color='blue', lw=2) pylab.show() 답변 다음은 Axes.set_yscale 메서드를 사용할 수 있습니다. 이를 통해 Axes 객체가 생성된 후에도 스케일을 변경할 수 있습.. 2023. 9. 18.