Fold#
The fold transform is, in short, a way to convert wide-form data to long-form data directly without any preprocessing (see Long-form vs. Wide-form Data for more information). Fold transforms are the opposite of the Pivot.
So, for example, if your data consist of multiple columns that record parallel data for different categories, you can use the fold transform to encode based on those categories:
import numpy as np
import pandas as pd
import altair as alt
rand = np.random.RandomState(0)
data = pd.DataFrame({
'date': pd.date_range('2019-01-01', freq='D', periods=30),
'A': rand.randn(30).cumsum(),
'B': rand.randn(30).cumsum(),
'C': rand.randn(30).cumsum(),
})
alt.Chart(data).transform_fold(
['A', 'B', 'C'],
).mark_line().encode(
x='date:T',
y='value:Q',
color='key:N'
)
Notice here that the fold transform essentially stacks all the values
from the specified columns into a single new field named "value"
,
with the associated names in a field named "key"
.
For an example of the fold transform in action, see Parallel Coordinates.
Transform Options#
The transform_fold()
method is built on the FoldTransform
class, which has the following options: