- the rules for transformations passed to
select
/select!
,transform
/transform!
, andcombine
have been made more flexible; in particular now it is allowed to return multiple columns from a transformation function (#2461 and #2481) - CategoricalArrays.jl is no longer reexported: call
using CategoricalArrays
to use it #2404. In the same vein, thecategorical
andcategorical!
functions have been deprecated in favor oftransform(df, cols .=> categorical .=> cols)
and similar syntaxes #2394.stack
now creates aPooledVector{String}
variable column rather than aCategoricalVector{String}
column by default; passvariable_eltype=CategoricalValue{String}
to get the previous behavior (#2391) isless
forDataFrameRow
s now checks column names (#2292)DataFrameColumns
is now not a subtype ofAbstractVector
(#2291)nunique
is not reported now bydescribe
by default (#2339)- stop reordering columns of the parent in
transform
andtransform!
; always generate columns that were specified to be computed even forGroupedDataFrame
with zero rows (#2324) - improve the rule for automatically generated column names in
combine
/select(!)
/transform(!)
with composed functions (#2274) :nmissing
indescribe
now produces0
if the column does not allow missing values; earliernothing
was produced in this case (#2360)- fast aggregation functions in for
GroupedDataFrame
now correctly choose the fast path only when it is safe; this resolves inconsistencies with what the same functions not using fast path produce (#2357) - joins now return
PooledVector
notCategoricalVector
in indicator column (#2505) GroupKeys
now supportsin
forGroupKey
,Tuple
,NamedTuple
and dictionaries (2392)- in
describe
the specification of custom aggregation is nowfunction => name
; oldname => function
order is now deprecated (#2401) - in joins passing
NaN
or real or imaginary-0.0
inon
column now throws an error; passingmissing
thows an error unlessmatchmissing=:equal
keyword argument is passed (#2504) unstack
now produces row and column keys in the order of their first appearance and has two new keyword argumentsallowmissing
andallowduplicates
(#2494)- PrettyTables.jl is now the
default back-end to print DataFrames to text/plain; the print option
splitcols
was removed and the output format was changed (#2429)
- add
filter
toGroupedDataFrame
(#2279) - add
empty
andempty!
function forDataFrame
that remove all rows from it, but keep columns (#2262) - make
indicator
keyword argument in joins allow passing a string (#2284, #2296) - add new functions to
GroupKey
API to make it more consistent withDataFrameRow
(#2308) - allow column renaming in joins (#2313 and (#2398)
- add
rownumber
toDataFrameRow
(#2356) - allow passing column name to specify the position where a new columns should be
inserted in
insertcols!
(#2365) - allow
GroupedDataFrame
s to be indexed using a dictionary, which can useSymbol
or string keys and are not dependent on the order of keys. (#2281) - add
isapprox
method to check for approximate equality between two dataframes (#2373) - add
columnindex
forDataFrameRow
(#2380) names
now acceptsType
as a column selector (#2400)select
,select!
,transform
,transform!
andcombine
now allowrenamecols
keyword argument that makes it possible to avoid adding transformation function name as a suffix in automatically generated column names (#2397)filter
,sort
,dropmissing
, andunique
now support aview
keyword argument which if set totrue
makes them retun aSubDataFrame
view into the passed data frame.- add
only
method forAbstractDataFrame
(#2449) - passing empty sets of columns in
filter
/filter!
and inselect
/transform
/combine
withByRow
is now accepted (#2476) - add
permutedims
method forAbstractDataFrame
(#2447) - add support for
Cols
from DataAPI.jl (#2495)
- DataAPI.jl version 1.4 is now required. It implies that
All(args...)
is deprecated andCols(args...)
is recommended instead.All()
is still supported.
- Documentation is now available also in Dark mode (#2315)
- add rich display support for Markdown cell entries in HTML and LaTeX (#2346)
- limit the maximal display width the output can use in
text/plain
before being truncated (in thetextwidth
sense, excluding…
) to32
per column by default and fix a corner case when no columns are printed in situations when they are too wide (2403)