pandas.lreshape#
- pandas.lreshape(data, groups, dropna=True)[source]#
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:
- dataDataFrame
The wide-format DataFrame.
- groupsdict
{new_name : list_of_columns}.
- dropnabool, 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