Fold Transform
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 Transform.
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 Example.
Transform Options
The transform_fold()
method is built on the FoldTransform
class, which has the following options:
Property |
Type |
Description |
---|---|---|
as |
array(any) |
The output field names for the key and value properties produced by the fold transform.
Default value: |
fold |
array( |
An array of data fields indicating the properties to fold. |