# Как добавить/вставить строку в DataFrame Pandas

В этом уроке **вы узнаете, как добавить (или вставить) строку в Pandas DataFrame**. Вы узнаете, как добавить одну строку, несколько строк и на конкретные позиции. Вы также узнаете, как добавить строку, используя список, Series и словарь.

К концу этого урока вы научитесь:

* Различные способы добавления одной и нескольких строк в DataFrame Pandas
* Как вставить строку в определенные позиции, например вверху или внизу, таблицы данных Pandas
* Как добавлять строки с помощью списков, серий Pandas и словарей

Оглавление

* [Загрузка образца DataFrame Pandas](#zagruzka-obrazca-dataframe-pandas)
* [Добавьте строку в DataFrame Pandas](#dobavlenie-stroki-v-dataframe-pandas-s-ispolzovaniem-slovarya)
* [Вставка строки в начало DataFrame Pandas](#vstavka-stroki-v-nachalo-dataframe-pandas)
* [Вставьте строку в таблицу данных Pandas по определенному индексу](#vstavka-stroki-v-pandas-dataframe-po-opredelennomu-indeksu)
* [Вставка нескольких строк в фрейм данных Pandas](#vstavka-neskolkikh-strok-v-dataframe-pandas)
* [Заключение](#zaklyuchenie)
* [Дополнительные ресурсы](#dopolnitelnye-resursy)

### Загрузка образца DataFrame Pandas

Для пошагового выполнения данного руководства вы можете скопировать ниже приведенный код в ваш любимый редактор кода. Если у вас есть собственные данные, вы можете использовать их (хотя результаты, конечно, будут отличаться):

```python
# Loading a Sample Pandas DataFrame
import pandas as pd

df = pd.DataFrame.from_dict({
    'Name': ['Nik', 'Kate', 'Evan', 'Kyra'],
    'Age': [31, 30, 40, 33],
    'Location': ['Toronto', 'London', 'Kingston', 'Hamilton']
})

print(df)

# Returns:
#    Name  Age  Location
# 0   Nik   31   Toronto
# 1  Kate   30    London
# 2  Evan   40  Kingston
# 3  Kyra   33  Hamilton
```

У нас есть четыре записи и три разные колонки, содержащие Имя, Возраст и Местоположение человека.

Самый простой способ добавить или вставить новую строку в DataFrame Pandas — использовать функцию Pandas `.concat()`. Чтобы узнать больше о работе этих функций, [ознакомьтесь с моей подробной статьей здесь](https://datagy.io/pandas-merge-concat/). В этом разделе вы узнаете три разных способа добавить одну строку в DataFrame Pandas.

#### Добавление строки в DataFrame Pandas с использованием словаря

Предположим, что мы хотим добавить новую строку с следующими данными: `{'Name':'Jane', 'Age':25, 'Location':'Madrid'}`.

Мы могли бы просто написать:

```python
new_record = pd.DataFrame([{'Name':'Jane', 'Age':25, 'Location':'Madrid'}])
df = pd.concat([df, new_record], ignore_index=True)

print(df)

# Returns:
#    Name  Age  Location
# 0   Nik   31   Toronto
# 1  Kate   30    London
# 2  Evan   40  Kingston
# 3  Kyra   33  Hamilton
# 4  Jane   25    Madrid
```

В приведенном выше примере мы смогли добавить новую строку в DataFrame, используя словарь. Поскольку мы передали словарь, нам нужно было указать аргумент `ignore_index=True`&#x20;

#### Добавление строки в Pandas DataFrame с использованием списка

Чтобы добавить список в DataFrame в Pandas, нужно использовать аксессор `loc`, так как просто использовать функцию `.append()` недостаточно. Для этого необходимо использовать длину DataFrame в качестве метки для нашего аксессора `loc`. Это создаст новую строку, как показано ниже:

```python
df.loc[len(df)] = ['Jane', 25, 'Madrid']
print(df)

# Returns:
#    Name  Age  Location
# 0   Nik   31   Toronto
# 1  Kate   30    London
# 2  Evan   40  Kingston
# 3  Kyra   33  Hamilton
# 4  Jane   25    Madrid
```

Как забавное отклонение: использование `iloc` более сложно, так как требует, чтобы позиция индекса уже существовала – это означает, что нам нужно либо сначала добавить пустую строку, либо перезаписать данные.

### Вставка строки в начало DataFrame Pandas

Добавление строки в начало DataFrame в Pandas достаточно просто: мы просто меняем местами действия, которые вы узнали ранее. То есть, мы добавляем большой DataFrame к новой строке.

Однако сначала мы должны создать DataFrame. Мы можем сделать это, используя класс `pd.DataFrame()`. Давайте рассмотрим:

```python
# Add a new record at the top of a DataFrame
new_record = pd.DataFrame([['Jane', 25, 'Madrid']], columns=df.columns)
df = pd.concat([new_record, df], ignore_index=True)
print(df)

# Returns:
#    Name  Age  Location
# 0  Jane   25    Madrid
# 0   Nik   31   Toronto
# 1  Kate   30    London
# 2  Evan   40  Kingston
# 3  Kyra   33  Hamilton
```

### Вставка строки в Pandas DataFrame по определенному индексу

Добавление строки в определённый индекс немного отличается. Как показано в примере с использованием списков, нужно использовать аксессор `loc`. Однако вставка строки на данном индексе только перезапишет его. Вместо этого мы можем передать значение, близкое к тому месту, где мы хотим вставить новую строку.

Например, если у нас есть текущие индексы от 0 до 3, и мы хотим вставить новую строку на индекс 2, мы можем просто присвоить ей индекс 1.5. Давайте посмотрим, как это работает:

```python
# Inserting a Row at a Specific Index
df.loc[1.5] = ['Jane', 25, 'Madrid']
df = df.sort_index().reset_index(drop=True)

print(df)

# Returns:
#    Name  Age  Location
# 0   Nik   31   Toronto
# 1  Kate   30    London
# 2  Jane   25    Madrid
# 3  Evan   40  Kingston
# 4  Kyra   33  Hamilton
```

Это, конечно, делает несколько предположений:

1. Ваш индекс начинается с 0. Соответственно, измените ваш индекс `loc`, если это не так.
2. Ваш индекс *может* быть изменен таким образом. Если ваш индекс имеет более важное значение, это может быть не так.

### Вставка нескольких строк в DataFrame Pandas

Добавление нескольких строк в DataFrame Pandas аналогично процессу добавления одной строки. Тем не менее, это может быть намного быстрее, так как мы можем передать все элементы сразу. Например, если мы добавляем элементы с помощью словаря, то мы можем добавить их в виде списка словарей.

Давайте рассмотрим пример:

```python
# Adding multiple rows to a Pandas DataFrame
new_rows = pd.DataFrame([{'Name': 'Jane', 'Age': 25, 'Location': 'Madrid'}, {'Name': 'Mel', 'Age': 23, 'Location':'New York'}])
df = pd.concat([df, new_rows], ignore_index=True)

print(df)

# Returns:
#    Name  Age  Location
# 0   Nik   31   Toronto
# 1  Kate   30    London
# 2  Evan   40  Kingston
# 3  Kyra   33  Hamilton
# 4  Jane   25    Madrid
# 5   Mel   23  New York
```

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

В этом учебнике вы узнали, как добавлять и вставлять строки в DataFrame Pandas. Вы узнали несколько различных методов для этого, включая использование словарей, списков и Pandas Series. Вы также узнали, как вставлять новые строки в начало, конец и в определенный индекс. Наконец, вы узнали, как добавлять несколько строк в DataFrame Pandas одновременно.

### Дополнительные ресурсы

Чтобы узнать больше о связанных темах, ознакомьтесь с учебными материалами ниже:

* Создайте пустой фрейм данных Pandas и добавьте данные
* Pandas: получите номер строки из таблицы данных
* Pandas: как удалить столбец индекса Dataframe
* Как перетасовать строки данных Pandas в Python


---

# 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/pandas/kak-dobavit-vstavit-stroku-v-dataframe-pandas.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.
