pandas.DataFrame.insert#

DataFrame.insert(loc, column, value, allow_duplicates=<no_default>)[source] #

Insert column into DataFrame at specified location.

Raises a ValueError if column is already contained in the DataFrame, unless allow_duplicates is set to True.

Parameters:
locint

Insertion index. Must verify 0 <= loc <= len(columns).

columnstr, number, or hashable object

Label of the inserted column.

valueScalar, Series, or array-like

Content of the inserted column.

allow_duplicatesbool, optional, default lib.no_default

Allow duplicate column labels to be created.

See also

Index.insert

Insert new item by index.

Examples

>>> df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
>>> df
 col1 col2
0 1 3
1 2 4
>>> df.insert(1, "newcol", [99, 99])
>>> df
 col1 newcol col2
0 1 99 3
1 2 99 4
>>> df.insert(0, "col1", [100, 100], allow_duplicates=True)
>>> df
 col1 col1 newcol col2
0 100 1 99 3
1 100 2 99 4

Notice that pandas uses index alignment in case of value from type Series:

>>> df.insert(0, "col0", pd.Series([5, 6], index=[1, 2]))
>>> df
 col0 col1 col1 newcol col2
0 NaN 100 1 99 3
1 5.0 100 2 99 4