Рубрики
Без рубрики

Как добавить или вставить строку в Pandas DataFrame?

Автор оригинала: Python Examples.

Pandas DataFrame – Добавить или вставить строку

Чтобы добавить или добавить строку в DataFrame, создайте новую строку в качестве серии и используйте метод dataframe.append ().

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

Синтаксис – Добавить ()

Ниже приведен синтаксис функции dataframe.appen ().

mydataframe = mydataframe.append(new_row, ignore_index=True)

где полученный датафарам содержит new_row добавлено в MyDataFrame Отказ

Приложение () неизменяется. Он не меняет dataframe, но возвращает новый dataframe с добавленной ряд.

Пример 1: Добавить строку в dataframe

В этом примере мы создадим dataframe и добавив новый ряд к этому dataframe. Новая строка инициализирована как функция Python Phictionary и Append () используется для добавления строки в DataFrame.

Когда вы добавляете словарь Python для добавления (), убедитесь, что вы проходите lightore_index = true Отказ

Способ Append () возвращает DataFrame с недавно добавленной строкой.

Python Program

import pandas as pd

data = {'name': ['Somu', 'Kiku', 'Amol', 'Lini'],
	'physics': [68, 74, 77, 78],
	'chemistry': [84, 56, 73, 69],
	'algebra': [78, 88, 82, 87]}

	
#create dataframe
df_marks = pd.DataFrame(data)
print('Original DataFrame\n------------------')
print(df_marks)

new_row = {'name':'Geo', 'physics':87, 'chemistry':92, 'algebra':97}
#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, а 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: добавьте строку в PandaS DataFrame)

Если вы не предоставляете параметр lightoreindex = false , вы получите JoyError.

В следующем примере мы постараемся добавить ряд на dataframe с параметром lightoreindex = false Отказ

Python Program

import pandas as pd

data = {'name': ['Amol', 'Lini'],
	'physics': [77, 78],
	'chemistry': [73, 85]}

#create dataframe
df_marks = pd.DataFrame(data)
print('Original DataFrame\n------------------')
print(df_marks)

new_row = {'name':'Geo', 'physics':87, 'chemistry':92}
#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

По словам сообщения об ошибке, нам нужно либо предоставить параметр lightore_index = true Или добавьте строку, это серия с именем.

Мы уже видели в Примере 1, как добавить строку в DataFrame с помощью lightore_index = true Отказ Теперь мы увидим, как добавить ряд с lightore_index = false Отказ

Python Program

import pandas as pd

data = {'name': ['Amol', 'Lini'],
	'physics': [77, 78],
	'chemistry': [73, 85]}

#create dataframe
df_marks = pd.DataFrame(data)
print('Original DataFrame\n------------------')
print(df_marks)

new_row = pd.Series(data={'name':'Geo', 'physics':87, 'chemistry':92}, 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)

Мы назвали серию как данные Отказ Поэтому lightore_index = false Не возвращает JyeError, а ряд добавляется в 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 мы использовали функцию Papend (), чтобы добавить строку в PandaS DataFrame.