- Technically breaking: A basically unknown functionality of pre-0.3 versions, using arbitrary column specifiers on the left-hand side, was removed. Instead, the behavior of using
{}
and{n}
expressions on the left hand side was assimilated to the existing shortcut string syntax.{}
or{1}
refers to the name of the first column used,{2}
to the second, etc. This allows to use transformation expressions on the used column names, such asuppercase({})
orsplit({2})[1]
.
- Fixed bug when column symbols were used inside braces.
- Added
@proprow
,@eachindex
and@groupindices
special function macros, which required compat to be raised to DataFrames v1.4.
- Breaking: The
$()
interpolation syntax is replaced by{}
for single columns (or broadcasted multi-columns) - Added
{{}}
for referring to multiple columns as a tuple. - Breaking: No more flag macros, replaced by explit
@byrow
,@bycol
,@passmissing
,@astable
. - Breaking:
All()
,Between()
andNot()
have to be interpolated with{}
and can't be used standalone anymore.
- Added ability to use multi-column expressions with
All()
,Between()
,Not()
, as well as any other multi-column identifier such as$Real
for all columns of eltypeReal
. - Added shortcut string option to specify renaming structures, e.g.
@transform(df, "sqrt_of_{}" = sqrt(All()))
.
- Added
@subset
argument for@transform!
and@select!
that performs a mutating transform on a subset of rows of a DataFrame.
- Fixed macro hygiene and enabled Julia 1.0.
- Added tuple destructuring syntax for the
@t
flag macro. #14
- Initial release.