Как вставить столбец в фрейм данных Pandas


Часто вам может понадобиться вставить новый столбец в pandas DataFrame. К счастью, это легко сделать с помощью функции вставки () pandas, которая использует следующий синтаксис:

вставка (local, столбец, значение, allow_duplicates = False)

куда:

  • loc: Индекс для вставки столбца. Первый столбец равен 0.
  • столбец: Имя для нового столбца.
  • value: Массив значений для нового столбца.
  • allow_duplicates: разрешить или запретить совпадение имени нового столбца с именем существующего столбца. По умолчанию — Ложь.

В этом руководстве показано несколько примеров использования этой функции на практике.

Пример 1: вставить новый столбец в качестве первого столбца

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
 'assists': [5, 7, 7, 9, 12],
 'rebounds': [11, 8, 10, 6, 6]})

#view DataFrame
df
 points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

#insert new column 'player' as first column
player_vals = ['A', 'B', 'C', 'D', 'E']
df.insert (loc= 0 , column='player', value=player_vals)
df

 player points assists rebounds
0 A 25 5 11
1 B 12 7 8
2 C 15 7 10
3 D 14 9 6
4 E 19 12 6

Пример 2. Вставьте новый столбец в качестве среднего столбца

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
 'assists': [5, 7, 7, 9, 12],
 'rebounds': [11, 8, 10, 6, 6]})

#insert new column 'player' as third column
player_vals = ['A', 'B', 'C', 'D', 'E']
df.insert (loc= 2 , column='player', value=player_vals)
df

 points assists player rebounds
0 25 5 A 11
1 12 7 B 8
2 15 7 C 10
3 14 9 D 6
4 19 12 E 6

Пример 3: вставить новый столбец в качестве последнего столбца

Следующий код показывает, как вставить новый столбец в качестве последнего столбца существующего DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
 'assists': [5, 7, 7, 9, 12],
 'rebounds': [11, 8, 10, 6, 6]})

#insert new column 'player' as last column
player_vals = ['A', 'B', 'C', 'D', 'E']
df.insert (loc= len(df.columns) , column='player', value=player_vals)
df

 points assists player rebounds
0 25 5 A 11
1 12 7 B 8
2 15 7 C 10
3 14 9 D 6
4 19 12 E 6

Обратите внимание, что использование len(df.columns) позволяет вставить новый столбец в качестве последнего столбца в любом фрейме данных, независимо от того, сколько столбцов в нем может быть.

Вы можете найти полную документацию по функции insert() здесь .