Skip to main content
`Ctrl`+`K`

# pandas.lreshape

pandas.lreshape(data, groups, dropna=True)

  Reshape wide-format data to long. Generalized inverse of DataFrame.pivot.

  Accepts a dictionary, `groups`, in which each key is a new column name and each value is a list of old column names that will be “melted” under the new column name as part of the reshape.

  Parameters:
    data DataFrame

      The wide-format DataFrame.

    groups dict

      {new_name : list_of_columns}.

    dropna bool, default True

      Do not include columns whose entries are all NaN.

  Returns:
    DataFrame

      Reshaped DataFrame.

  See also

  `melt`

    Unpivot a DataFrame from wide to long format, optionally leaving identifiers set.

  `pivot`

    Create a spreadsheet-style pivot table as a DataFrame.

  `DataFrame.pivot`

    Pivot without aggregation that can handle non-numeric data.

  `DataFrame.pivot_table`

    Generalization of pivot that can handle duplicate values for one index/column pair.

  `DataFrame.unstack`

    Pivot based on the index values instead of a column.

  `wide_to_long`

    Wide panel to long format. Less flexible but more user-friendly than melt.

  Examples

      >>> data = pd.DataFrame({'hr1': [514, 573], 'hr2': [545, 526],
      ...                      'team': ['Red Sox', 'Yankees'],
      ...                      'year1': [2007, 2007], 'year2': [2008, 2008]})
      >>> data
         hr1  hr2     team  year1  year2
      0  514  545  Red Sox   2007   2008
      1  573  526  Yankees   2007   2008

      >>> pd.lreshape(data, {'year': ['year1', 'year2'], 'hr': ['hr1', 'hr2']})
            team  year   hr
      0  Red Sox  2007  514
      1  Yankees  2007  573
      2  Red Sox  2008  545
      3  Yankees  2008  526