DataFrame.insert()

Метод insert() вставляет столбец в DataFrame на заданную позицию. В отличие от df["new"] = ... (всегда в конец), insert() позволяет указать индекс столбца. Изменяет объект на месте.

Сигнатура

DataFrame.insert(loc, column, value, allow_duplicates=False)

Параметры

  • loc — целочисленная позиция (от 0 до len(df.columns)).

  • column — имя нового столбца.

  • value — скаляр, Series или массив той же длины, что и DataFrame.

  • allow_duplicates — разрешить столбец с уже существующим именем.

Возвращаемое значение

None — модифицирует DataFrame на месте.

Примеры

Пример 1. Вставка в начало

import pandas as pd

df = pd.DataFrame({"temp": [22, 23, 24]})
df.insert(0, "id", [1, 2, 3])
print(df)
   id  temp
0   1    22
1   2    23
2   3    24

Пример 2. Вставка в середину

import pandas as pd

df = pd.DataFrame({"a": [1, 2], "c": [5, 6]})
df.insert(1, "b", [3, 4])
print(df)
   a  b  c
0  1  3  5
1  2  4  6

Пример 3. Скалярное значение

import pandas as pd

df = pd.DataFrame({"sensor": ["A", "B"], "value": [10, 20]})
df.insert(1, "unit", "C")
print(df)
  sensor unit  value
0      A    C     10
1      B    C     20

Пример 4. Вычисляемый столбец

Добавляем разность температур между датчиками:

import pandas as pd

df = pd.DataFrame({"t_a": [22.0, 23.0], "t_b": [21.5, 23.4]})
df.insert(2, "delta", df["t_a"] - df["t_b"])
print(df)
    t_a   t_b  delta
0  22.0  21.5    0.5
1  23.0  23.4   -0.4

Пример 5. Дубликат имени с allow_duplicates

import pandas as pd

df = pd.DataFrame({"x": [1, 2]})
df.insert(1, "x", [10, 20], allow_duplicates=True)
print(df)
   x   x
0  1  10
1  2  20

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.