- Добавление строки в Pandas DataFrame
- Синтаксис
- Пример 1
- Пример 2
- pandas.DataFrame.insert#
- Как добавить строку в Pandas Dataframe?
- Способ 1. Добавление строки в Dataframe Pandas при помощи метода append()
- Способ 2. Добавление строки в Dataframe Pandas при помощи метода loc()
- Способ 3. Добавление несколько строк в Dataframe Pandas
Добавление строки в Pandas DataFrame
Чтобы добавить или вставить строку в DataFrame, создайте новую строку, как Series и используйте метод append().
В этом руководстве мы узнаем, как добавить строку в существующий DataFrame с помощью наглядных примеров программ.
Синтаксис
Ниже приводится синтаксис функции DataFrame.appen().
mydataframe = mydataframe.append(new_row, ignore_index=True)
Где, полученный DataFrame содержит new_row, добавленный в mydataframe.
append() не изменяет DataFrame, но возвращает новый с добавленной строкой.
Пример 1
В этом примере мы создадим DataFrame и добавим новую строку. Она инициализируется как словарь Python, а функция append() используется для добавления строки.
Когда вы добавляете словарь Python в append(), убедитесь, что вы передаете ignore_index = True.
Метод append() возвращает DataFrame с вновь добавленной строкой.
import pandas as pd data = #create dataframe df_marks = pd.DataFrame(data) print('Original DataFrame\n------------------') print(df_marks) new_row = #append row to the dataframe df_marks = df_marks.append(new_row, ignore_index=True) print('\n\nNew row added to DataFrame\n--------------------------') print(df_marks)
Запустите указанную выше программу Python, и вы увидите исходный DataFrame, к которому добавлена новая строка.
Original DataFrame ------------------ name physics chemistry algebra 0 Somu 68 84 78 1 Kiku 74 56 88 2 Amol 77 73 82 3 Lini 78 69 87 New row added to DataFrame -------------------------- name physics chemistry algebra 0 Somu 68 84 78 1 Kiku 74 56 88 2 Amol 77 73 82 3 Lini 78 69 87 4 Geo 87 92 97
Пример 2
Если вы не укажете параметр ignoreIndex = False, вы получите TypeError.
В следующем примере мы попытаемся добавить строку в DataFrame с параметром ignoreIndex = False.
import pandas as pd data = #create dataframe df_marks = pd.DataFrame(data) print('Original DataFrame\n------------------') print(df_marks) new_row = #append row to the dataframe df_marks = df_marks.append(new_row, ignore_index=False) print('\n\nNew row added to DataFrame\n--------------------------') print(df_marks)
Original DataFrame ------------------ name physics chemistry 0 Amol 77 73 1 Lini 78 85 Traceback (most recent call last): File "example1.py", line 14, in df_marks = df_marks.append(new_row, ignore_index=False) File "C:\Users\PythonExamples\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\frame.py", line 6658, in append raise TypeError('Can only append a Series if ignore_index=True' TypeError: Can only append a Series if ignore_index=True or if the Series has a name
Как говорится в сообщении об ошибке, нам нужно либо предоставить параметр ignore_index = True, либо добавить строку, то есть Series, с именем.
Мы уже видели в примере 1, как добавить строку в DataFrame с ignore_index = True. Теперь посмотрим, как добавить строку с ignore_index = False.
import pandas as pd data = #create dataframe df_marks = pd.DataFrame(data) print('Original DataFrame\n------------------') print(df_marks) new_row = pd.Series(data=, name='x') #append row to the dataframe df_marks = df_marks.append(new_row, ignore_index=False) print('\n\nNew row added to DataFrame\n--------------------------') print(df_marks)
Мы назвали серию данными. Поэтому ignore_index = False не возвращает TypeError, и строка добавляется к DataFrame.
Original DataFrame ------------------ name physics chemistry 0 Amol 77 73 1 Lini 78 85 New row added to DataFrame -------------------------- name physics chemistry 0 Amol 77 73 1 Lini 78 85 x Geo 87 92
В этом руководстве по Pandas мы использовали функцию append(), чтобы добавить строку в Pandas DataFrame.
pandas.DataFrame.insert#
Raises a ValueError if column is already contained in the DataFrame, unless allow_duplicates is set to True.
Parameters loc int
Insertion index. Must verify 0
column str, number, or hashable object
Label of the inserted column.
value Scalar, Series, or array-like allow_duplicates bool, optional, default lib.no_default
>>> df = pd.DataFrame('col1': [1, 2], 'col2': [3, 4]>) >>> df col1 col2 0 1 3 1 2 4 >>> df.insert(1, "newcol", [99, 99]) >>> df col1 newcol col2 0 1 99 3 1 2 99 4 >>> df.insert(0, "col1", [100, 100], allow_duplicates=True) >>> df col1 col1 newcol col2 0 100 1 99 3 1 100 2 99 4
Notice that pandas uses index alignment in case of value from type Series :
>>> df.insert(0, "col0", pd.Series([5, 6], index=[1, 2])) >>> df col0 col1 col1 newcol col2 0 NaN 100 1 99 3 1 5.0 100 2 99 4
Как добавить строку в Pandas Dataframe?
Регулярно при работе с информацией в Dataframe Pandas мы сталкиваемся с задачей добавления новых строк с данными. В этой статье мы рассмотрим основные способы того, как добавить строку в Pandas Dataframe.
Способ 1. Добавление строки в Dataframe Pandas при помощи метода append()
Pandas предоставляет нам встроенный метод append(), который позволяет добавить новую строку. Общий синтаксис следующий:
append(новая_строка, ignore_index=True), где
- новая_строка – новые данные к существующей таблице в формате словаря
- ignore_index=True – позволяет исключить ошибку «Can only append a Series if ignore_index=True or if the Series has a name»
Также важно отметить что метод append не изменяет существующий dataframe, а создает новый.
Итак, давайте сформируем новую строку в формате словаря для города Омск:
Способ 2. Добавление строки в Dataframe Pandas при помощи метода loc()
Метод loc () позволяет добавить строку в конец существующего Dataframe :
Недостатком этого метода является то, что мы должны задать значения для всех столбцов, иначе Python вернет нам ошибку «cannot set a row with mismatched columns».
Способ 3. Добавление несколько строк в Dataframe Pandas
В ситуации, когда нам необходимо добавить несколько строк в Dataframe, мы можем создать второй Dataframe с новыми данными и объединить его с существующим при помощи метода append().
Создаем новый Dataframe (обратите внимание, что столбцы должны быть в нем такие же, как в Dataframe, с которым мы хотим объединить данные):
Мы рассмотрели три основных способа добавления новых строк в Dataframe Pandas. Хотите попрактиковаться сами – скачайте наш ноутбук.
P.S. Хотел бы рекомендовать вам ознакомиться со следующими статьями с нашего сайта: