pandas.DataFrame.insert — pandas 2.2.3 documentation (original) (raw)

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.

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