numpy.log()는 x(x는 모든 입력 배열 요소에 속함)의 자연 로그를 계산하는 데 사용되는 수학 함수입니다. 이는 지수 함수의 역함수이자 요소별 자연 로그입니다. 자연 로그 로그는 지수 함수의 반대이므로 log(exp(x))=x입니다. 밑수 e의 로그는 자연로그입니다.
통사론
numpy.log(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) =
매개변수
x: array_like
이 매개변수는 numpy.log() 함수의 입력 값을 정의합니다.
out: ndarray, None, 또는 ndarray와 None의 튜플(선택 사항)
이 매개변수는 결과가 저장되는 위치를 정의하는 데 사용됩니다. 이 매개변수를 정의하는 경우 입력 브로드캐스트와 유사한 모양을 가져야 합니다. 그렇지 않으면 새로 할당된 배열이 반환됩니다. 튜플의 길이는 출력 수와 같습니다.
여기서: array_like(선택 사항)
입력을 통해 방송되는 조건입니다. 조건이 True인 이 위치에서 out 배열은 ufunc(범용 함수) 결과로 설정됩니다. 그렇지 않으면 원래 값이 유지됩니다.
캐스팅: {'no','equiv','safe','same_kind','unsafe'}(선택 사항)
캐시디 허친슨 교육
이 매개변수는 발생할 수 있는 데이터 캐스팅의 종류를 제어합니다. '아니요'는 데이터 유형이 전혀 캐스팅되지 않아야 함을 의미합니다. 'equiv'는 바이트 순서 변경만 허용됨을 의미합니다. '안전하다'는 것은 보존된 값을 허용할 수 있는 유일한 캐스트를 의미합니다. 'same_kind'는 안전한 캐스트 또는 한 종류 내의 캐스트만을 의미합니다. '안전하지 않음'은 모든 데이터 변환이 완료될 수 있음을 의미합니다.
순서: {'K', 'C', 'F', 'A'}(선택 사항)
이 매개변수는 출력 배열의 계산 반복 순서/메모리 레이아웃을 지정합니다. 기본적으로 차수는 K입니다. 'C' 차수는 출력이 C 연속적이어야 함을 의미합니다. 'F' 순서는 F 연속을 의미하고 'A'는 입력이 F 연속이고 입력이 C 연속이면 'A'는 C 연속을 의미합니다. 'K'는 입력의 요소 순서를 최대한 가깝게 일치시키는 것을 의미합니다.
머신러닝의 종류
dtype: 데이터 유형(선택)
계산 및 출력 배열의 dtype을 재정의합니다.
테스트: bool(선택 사항)
기본적으로 이 매개변수는 true로 설정됩니다. false로 설정하면 출력은 항상 하위 유형이 아닌 엄격한 배열이 됩니다.
서명
이 인수를 사용하면 기본 계산에 사용되는 1차원 루프 'for'에 특정 서명을 제공할 수 있습니다.
외부
이 매개변수는 ufunc 버퍼 크기, 오류 모드 정수 및 오류 콜백 함수를 지정하는 길이 1, 2 또는 3의 목록입니다.
보고
이 함수는 입력 배열의 모든 요소에 속하는 x의 자연 로그 값을 포함하는 ndarray를 반환합니다.
예시 1:
import numpy as np a=np.array([2, 4, 6, 3**8]) a b=np.log(a) b c=np.log2(a) c d=np.log10(a) d
산출:
array([ 2, 4, 6, 6561]) array([0.69314718, 1.38629436, 1.79175947, 8.78889831]) array([ 1. , 2. , 2.5849625 , 12.67970001]) array([0.30103 , 0.60205999, 0.77815125, 3.81697004])
위에서 언급한 코드에서
- 별칭 이름이 np인 numpy를 가져왔습니다.
- np.array() 함수를 사용하여 'a' 배열을 만들었습니다.
- 변수 b, c, d를 선언하고 np.log(), np.log2(), np.log10() 함수의 반환 값을 각각 할당했습니다.
- 모든 함수에 'a' 배열을 전달했습니다.
- 마지막으로 b, c, d의 값을 출력해 보았습니다.
출력에는 소스 배열의 모든 요소에 대한 log, log2 및 log10 값을 포함하는 ndarray가 표시되었습니다.
예 2:
import numpy as np import matplotlib.pyplot as plt arr = [2, 2.2, 2.4, 2.6,2.8, 3] result1=np.log(arr) result2=np.log2(arr) result3=np.log10(arr) plt.plot(arr,arr, color='blue', marker='*') plt.plot(result1,arr, color='green', marker='o') plt.plot(result2,arr, color='red', marker='*') plt.plot(result3,arr, color='black', marker='*') plt.show()
산출:
CSS에서 마우스를 가리키면
위의 코드에서
- 별칭 이름이 np인 numpy를 가져왔습니다.
- 또한 별칭 이름이 plt인 matplotlib.pyplot을 가져왔습니다.
- 다음으로 np.array() 함수를 사용하여 'arr' 배열을 만들었습니다.
- 그런 다음 변수 result1, result2, result3을 선언하고 각각 np.log(), np.log2() 및 np.log10() 함수의 반환 값을 할당했습니다.
- 모든 함수에 'arr' 배열을 전달했습니다.
- 마지막으로 'arr', result1, result2 및 result3의 값을 플롯해 보았습니다.
출력에는 서로 다른 색상의 4개의 직선이 포함된 그래프가 표시되었습니다.
예시 3:
import numpy as np x=np.log([2, np.e, np.e**3, 0]) x
산출:
__main__:1: RuntimeWarning: divide by zero encountered in log array([0.69314718, 1. , 3. , -inf])
위의 코드에서
- 먼저 별칭 이름이 np인 numpy를 가져왔습니다.
- 변수 'x'를 선언하고 np.log() 함수의 반환 값을 할당했습니다.
- 정수 값, np.e 및 np.e**2와 같은 다양한 값을 함수에 전달했습니다.
- 마지막으로 'x' 값을 출력해 보았습니다.
출력에는 소스 배열 요소의 로그 값을 포함하는 ndarray가 표시되었습니다.