Pandas DataFrame являются основой обработки данных в Python. Эффективное добавление строк — распространенная задача, и в этой статье подробно описаны лучшие методы добавления одной строки в ваш DataFrame.
Оглавление
- Использование
.loc
для эффективного добавления строк - Добавление с помощью словарей для повышения читаемости
- Почему следует избегать метода
append()
Использование .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
и на основе словарей превосходят его по производительности и удобству обслуживания. Всегда отдавайте предпочтение более эффективным и поддерживаемым методам, описанным выше.