# Расчет натурального логарифма на Python

В этом уроке вы узнаете, как вычислить натуральный логарифм на Python, создавая способ вычисления математических значений для `ln()`. Вы получите краткий обзор того, что такое натуральный логарифм, как его вычислить в Python с помощью библиотеки `math` и с помощью библиотеки `numpy`. Наконец, вы узнаете, как его импортировать по-другому, чтобы сделать ваш код немного проще для чтения.

**Быстрый ответ:** Используйте `numpy.log()`

```python
# Вычисление натурального логарифма в Python с помощью math.log
import math

print(math.log(math.e))
print(math.log(1))
print(math.log(10))

# Возвращает:
# 1.0
# 0.0
# 2.302585092994046
```

Оглавление

* [Что такое натуральный логарифм?](#chto-takoe-naturalnyi-logarifm)
* [Как использовать математику Python для вычисления натурального логарифма (ln)](#kak-ispolzovat-matematiku-python-dlya-vychisleniya-naturalnogo-logarifma-ln)
* [Как использовать Python numpy для вычисления натурального логарифма (ln)](#kak-ispolzovat-python-numpy-dlya-vychisleniya-naturalnogo-logarifma-ln)
* [Как импортировать функцию журнала, чтобы сделать ее более понятной, как ln](#kak-importirovat-funkciyu-zhurnala-chtoby-sdelat-ee-bolee-ponyatnoi-kak-ln)
* [Как построить график функции естественного логарифма в Python](#kak-postroit-grafik-funkcii-estestvennogo-logarifma-v-python)
* [Заключение](#zaklyuchenie)

### Что такое натуральный логарифм?

Натуральный логарифм — это логарифм любого числа по основанию `e`. Часто его записывают как `loge(x)` или `ln(x)`. Иногда `e` подразумевается неявно, и функция записывается как `log(x)`.

Натуральный логарифм имеет ряд уникальных атрибутов, таких как:

* ln(e) = 1
* ln(1) = 0

Натуральный логарифм (ln) часто используется при решении задач, связанных со временем и ростом. Поскольку явление логарифма по основанию `e` часто встречается в природе, его называют ***натуральным логарифмом***, так как он отражает многие природные процессы роста.

### Как использовать математику Python для вычисления натурального логарифма (ln)

Библиотека `math` в Python включает в себя функцию под названием `log()`. Эта функция принимает два параметра:

1. Значение, для которого вы хотите вычислить логарифм, и
2. База для использования.

Одна интересная особенность этой функции заключается в том, что база является необязательным параметром. Если значение не указано, по умолчанию используется значение `e`, что означает, что, предоставив только число, вы автоматически вычисляете натуральный логарифм.

Это может показаться контринтуитивным – однако, помните из введения, что во многих случаях основание `e` является неявным, и многие разы опускается, когда упоминается функция `log()` без указания основания.

Давайте посмотрим, как мы можем использовать библиотеку `math` в Python для вычисления натурального логарифма. Мы проверим некоторые ключевые атрибуты, чтобы увидеть, как это работает на практике.

```python
# Вычисление натурального логарифма в Python с помощью math.log
import math

print(math.log(math.e))
print(math.log(1))
print(math.log(10))

# Возвращает:
# 1.0
# 0.0
# 2.302585092994046
```

В следующем разделе вы научитесь использовать библиотеку `numpy` для вычисления натурального логарифма в Python.

### Как использовать Python numpy для вычисления натурального логарифма (ln)

Еще один полезный способ вычисления натурального логарифма в Python - использование популярной библиотеки `numpy`. Библиотека `numpy` предлагает множество различных способов манипулирования числовыми данными. Одна из этих функций - функция `numpy.log()`

Аналогично функции, которую вы изучили в предыдущем разделе, функция `numpy.log()` принимает два параметра:

1. Число, для которого необходимо вычислить логарифм
2. Основание, используемое в расчете логарифма

Аналогично функции библиотеки `math`, основание является необязательным параметром. Если оно не указано, используется значение `e`. Благодаря этому функция по умолчанию вычисляет натуральный логарифм.

Давайте посмотрим, как мы можем использовать функцию `numpy.log()` для вычисления натурального логарифма в Python. Мы рассчитаем [натуральный логарифм для постоянной Эйлера](https://datagy.io/python-e-euler/) и некоторые другие значения.

```python
# Вычисление натурального логарифма в Python с помощью numpy.log
import numpy as np
import math

print(np.log(math.e))
print(np.log(1))
print(np.log(10))

# Возвращает:
# 1.0
# 0.0
# 2.302585092994046
```

В следующем разделе вы узнаете, как импортировать функцию `log()` другим способом, чтобы сделать ее более понятной для чтения.

Посмотрите некоторые другие [учебные материалы по Python](https://bemind.gitbook.io/neural/uchebniki-po-pandas-i-numpy/pandas), включая наше [полное руководство по стилизации Pandas](https://bemind.gitbook.io/neural/uchebniki-po-pandas-i-numpy/pandas/izuchenie-api-stilya-pandas) и наш исчерпывающий [обзор сводных таблиц в Pandas](https://bemind.gitbook.io/neural/uchebniki-po-pandas-i-numpy/pandas/python-svodnye-tablicy-polnoe-rukovodstvo)

### Как импортировать функцию журнала, чтобы сделать ее более понятной, как ln

Python упрощает и делает интуитивно понятным импортирование функций. В обоих примерах мы просто импортируем целиком библиотеку, но импортирование функции `log()` может не сделать очевидным то, что мы имеем в виду натуральные логарифмы.

Одно из действий, которое мы можем предпринять, это предоставить `псевдоним` для функции, чтобы было ясно, что мы имеем в виду натуральный логарифм.

Давайте посмотрим, как мы можем это сделать, импортируя функцию из библиотеки `numpy`

```python
# Вычисление натурального логарифма в Python с помощью numpy.log как ln

from numpy import log as ln

import math

print(ln(math.e))
print(ln(1))
print(ln(10))

# Возвращает:
# 1.0
# 0.0
# 2.302585092994046
```

В следующем разделе вы узнаете, как построить график функции натурального логарифма с использованием Python.

**Хотите узнать больше о f-строках в Python?** Ознакомьтесь с [моим подробным руководством](https://datagy.io/python-f-strings/).

### Как построить график функции естественного логарифма в Python

В этом разделе вы научитесь строить график натурального логарифма в Python с использованием популярной библиотеки для построения графиков `matplotlib`.

Чтобы построить график данных, мы сделаем следующее

1. Создайте массив чисел от 1 до 30.
2. Мы будем перебирать массив и создавать массив из натуральных логарифмов этих чисел.
3. Наконец, мы будем строить графики двух массивов, используя matplotlib.

Давайте посмотрим, как мы можем сделать это в Python:

```python
# Вычисление натурального логарифма в Python с помощью numpy.log как ln

import numpy as np
import math
import matplotlib.pyplot as plt

x = np.array(range(1, 1001))
y = np.log(x)

plt.plot(x, y)
plt.title('График y=ln(x) с помощью matplotlib')
plt.show()
```

Это возвращает следующее изображение:

<figure><img src="https://datagy.io/wp-content/uploads/2021/10/Python-Natural-Log-Plotting-Function-1024x768.png" alt="Python Natural Log Plotting Function" height="768" width="1024"><figcaption></figcaption></figure>

**Хотите узнать больше о том, как вычислять квадратный корень в Python?** [Ознакомьтесь с моим учебником здесь](https://datagy.io/python-square-root), который научит вас различным способам вычисления квадратного корня, как без использования функций Python, так и с их помощью.

### Заключение

В этом уроке вы научились использовать Python для вычисления натурального логарифма. Вы узнали, как делать это с помощью библиотек `math` и `numpy`, а также как строить график функции натурального логарифма с использованием `matplotlib`.

Чтобы узнать больше о функции `math.log()`, ознакомьтесь с [официальной документацией здесь](https://docs.python.org/3/library/math.html?highlight=log#math.log)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bemind.gitbook.io/neural/uchebniki-po-pandas-i-numpy/numpy/raschet-naturalnogo-logarifma-na-python.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
