pandas.DataFrame.explode¶
- DataFrame.explode(column, ignore_index=False)[source]¶
Transform each element of a list-like to a row, replicating index values.
New in version 0.25.0.
- Parameters
- columnstr or tuple
Column to explode.
- ignore_indexbool, default False
If True, the resulting index will be labeled 0, 1, …, n - 1.
New in version 1.1.0.
- Returns
- DataFrame
Exploded lists to rows of the subset columns; index will be duplicated for these rows.
- Raises
- ValueError :
if columns of the frame are not unique.
See also
DataFrame.unstack
Pivot a level of the (necessarily hierarchical) index labels.
DataFrame.melt
Unpivot a DataFrame from wide format to long format.
Series.explode
Explode a DataFrame from list-like columns to long format.
Notes
This routine will explode list-likes including lists, tuples, sets, Series, and np.ndarray. The result dtype of the subset rows will be object. Scalars will be returned unchanged, and empty list-likes will result in a np.nan for that row. In addition, the ordering of rows in the output will be non-deterministic when exploding sets.
Examples
>>> df = pd.DataFrame({'A': [[1, 2, 3], 'foo', [], [3, 4]], 'B': 1}) >>> df A B 0 [1, 2, 3] 1 1 foo 1 2 [] 1 3 [3, 4] 1
>>> df.explode('A') A B 0 1 1 0 2 1 0 3 1 1 foo 1 2 NaN 1 3 3 1 3 4 1