Data Analysis

Эффективное добавление строк в Pandas DataFrame

Spread the love

Pandas DataFrame являются основой обработки данных в Python. Эффективное добавление строк — распространенная задача, и в этой статье подробно описаны лучшие методы добавления одной строки в ваш DataFrame.

Оглавление

Использование .loc для эффективного добавления строк

Оператор .loc предоставляет наиболее эффективный и прямой способ добавления строки. Он особенно выгоден при работе с большими DataFrame, минимизируя накладные расходы на производительность. Вы указываете индекс для новой строки и предоставляете данные в виде списка или массива NumPy.


import pandas as pd
import numpy as np

# Пример DataFrame
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)

# Данные новой строки в виде списка
new_row_list = [4, 7]

# Добавление новой строки с помощью .loc
df.loc[len(df)] = new_row_list

print("Использование списка:n", df)


# Данные новой строки в виде массива NumPy
new_row_array = np.array([5,8])

# Добавление новой строки с помощью .loc с массивом NumPy
df.loc[len(df)] = new_row_array

print("nИспользование массива NumPy:n",df)

Этот подход напрямую изменяет базовую структуру DataFrame, что делает его быстрее, чем альтернативные варианты. Вывод показывает добавленные новые строки.

Добавление с помощью словарей для повышения читаемости

При работе с большим количеством столбцов использование словаря для представления новой строки повышает читаемость кода. Ключи словаря соответствуют именам столбцов, а значения — данным строки. pd.concat эффективно объединяет существующий DataFrame с новой строкой.


import pandas as pd

# Пример DataFrame
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)

# Данные новой строки в виде словаря
new_row_dict = {'col1': 5, 'col2': 8}

# Добавление новой строки с помощью pd.concat
df = pd.concat([df, pd.DataFrame([new_row_dict])], ignore_index=True)

print(df)

ignore_index=True обеспечивает правильную обработку индексов, предотвращая дублирование индексов.

Почему следует избегать метода append()

Метод append() устарел в современных версиях Pandas. Он менее эффективен и может приводить к неожиданному поведению. Методы .loc и на основе словарей превосходят его по производительности и удобству обслуживания. Всегда отдавайте предпочтение более эффективным и поддерживаемым методам, описанным выше.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *