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.