Pandas: как вставить строку в определенную позицию индекса


Вы можете использовать следующий базовый синтаксис, чтобы вставить строку в определенную позицию индекса в DataFrame pandas:

 #insert row in between index position 2 and 3
df. loc [ 2.5 ] = value1, value2, value3, value4

#sort index
df = df. sort_index (). reset_index (drop= True )

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: вставка строки в определенную позицию индекса в Pandas

Предположим, у нас есть следующий DataFrame pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

Мы можем использовать следующий синтаксис для вставки строки между позициями индекса 2 и 3:

 #insert row in between index position 2 and 3
df. loc [ 2.5 ] = 'Z', 10, 5, 7

#sort index
df = df. sort_index (). reset_index (drop= True )

#view updated DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 Z 10 5 7
4 D 14 9 6
5 E 14 12 6
6 F 11 9 5
7 G 20 9 9
8:28 a.m. 4:12

Обратите внимание, что между предыдущими позициями индекса 2 и 3 была вставлена строка со следующей информацией:

  • команда:Z
  • баллы: 10
  • передачи: 5
  • подборы: 7

Используя функции sort_index() и reset_index() , мы смогли переназначить индексу значения в диапазоне от 0 до 8.

Обратите внимание, что новая строка должна содержать то же количество значений, что и количество существующих столбцов.

Например, если бы мы попытались вставить новую строку только с тремя значениями, мы получили бы ошибку:

 #attempt to insert row with only three values
df. loc [ 2.5 ] = 10, 5, 7

ValueError : cannot set a row with mismatched columns

Мы получаем ValueError , поскольку количество значений в новой строке не соответствует количеству существующих столбцов в DataFrame.

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

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как вставить столбец в DataFrame Pandas
Как добавить строки в DataFrame Pandas
Как удалить строки в Pandas DataFrame в зависимости от условия

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

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