Skip to main content
`Ctrl`+`K`

# pandas.DataFrame.insert

DataFrame.insert(loc, column, value, allow_duplicates=<no_default>)

  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:
    loc int

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

    column str, number, or hashable object

      Label of the inserted column.

    value Scalar, Series, or array-like

      Content of the inserted column.

    allow_duplicates bool, 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