Releases: JuliaData/DataFrames.jl
Releases · JuliaData/DataFrames.jl
v0.20.2
v0.20.2 (2020-02-13)
Closed issues:
v0.20.1
Add compatibility with Tables.jl v1.0.
v0.20.0
v0.20.0 (2019-12-07)
Closed issues:
- Make describe not accept io (#2024)
- Switch cols to kwarg from positional args (#2023)
- Problems sorting dataFrames imported from CSV (#2019)
- Allow
rename!\(df, pair::Pair{String, String}\)
as a signature (#2017) - Add an argument allowing to select columns to calculate statistics on for describe (#2014)
- Add
flatten
function (#2012) - describe should also apply to Vector (#2010)
- Add :equal support in append! (#2007)
- CSV.read cannot detect "Time" type string (#2005)
- When vcat dataframes, ordering of categorical variables is lost (#2002)
- Allow mix of
Symbol
andPair
injoin
(#2001) - Documenting the difference betwen df[!, :col] and df[:, :col] (#1999)
- select!(df, Not(tuple)) does not work (#1997)
- using DataFrames in Jupiter lab and notebook hangs... (#1996)
- [package code fancyness] Redundant code snippet (#1993)
- Merge meanings of cols keyword arguments between push! and vcat (#1991)
- master still on v0.19.3, though release branch already on v0.19.4 (#1990)
- Bad performance of "by" function for random queries (#1988)
- Warning T is deprecated, use nonmissingtype instead (#1987)
- ERROR: ArgumentError: 'Array{UInt8,1}' iterates 'UInt8' values, which don't satisfy the Tables.jl Row-iterator interface (#1983)
- vcat! or push!(..., columns=:union) (#1982)
- Drop AppVeyor in favour of TravisCI (#1980)
- 32-bit BoundsError (#1978)
- allow
by
to receive keyword argument for custom output column name. (#1976) dropmissing!
fails onPooledString
s (#1973)- Fix tests to pass on Julia nightly (#1967)
- can't join more than two dataframes? (#1962)
- Issues using the
df\[!, col\]
syntax during broadcasts (#1959) - API for functions that help reduce memory usage (#1954)
- NamedTuple backing or switchable? (#1949)
- Sorting error using examples from docs (#1945)
- merge
names! into
rename!` (#1943) - Allow partial re-ordering for
permutecols!
(#1942) - sort! performance (#1927)
- Add kwarg do disallowmissing that skips conversion of columns with missing values (#1922)
- Sync the behavior of push!, vcat and append! in DataFrames.jl with Base (#1904)
- How about raising ArgumentError rather than just calling error() in append!()? (#1869)
- How about raise ArgumentError rather than just calling error() in insertcols!()? (#1867)
- Improve select and select! performance with
Not
(#1861) - Make
getproperty\(df, col\)
return a full length view of the column (#1844) - Allow empty
keys
argument inby\(\)
(#1837) - Find a better API for stackdf and meltdf (#1736)
- DataFrames.jl roadmap (#1678)
setindex!
/broadcast!
design (#1645)- Update docstrings to new conventions (#1093)
Merged pull requests:
- Add upper bounds to versions in Project.toml (#2037) (nalimilan)
- Enable CompatHelper (#2036) (nalimilan)
- remove unnecessary line in DataFrame constructor (#2033) (bkamins)
- deprecate stackdf and meltdf (#2031) (bkamins)
- allow integer as from value in rename (#2030) (bkamins)
- Release 0.20.0 (#2028) (bkamins)
- deprecate io support in describe (#2027) (bkamins)
- change Julia from 1.2 do 1.3 on Travis CI (#2026) (bkamins)
- add Array convert for data frame and data frame row (#2025) (bkamins)
- make SubIndex strict about duplicates (#2022) (bkamins)
- Key in warning doesn't reflect the the right entry (#2021) (laborg)
- add cols to describe (#2020) (bkamins)
- allow strings in rename! (#2018) (bkamins)
- Add flatten function (#2013) (pdeffebach)
- update documentation of select (#2011) (bkamins)
- Update docstrings and removed unnecessary internal comments (#2009) (bkamins)
- add names documentation (#2008) (bkamins)
- allow mixing Symbol and Pair{Symbol,Symbol} in on for joining (#2006) (bkamins)
- change how copycols in Vector{<:NamedTuple} constructor (#2004) (bkamins)
- Documenting the difference betwen df[!, :col] and df[:, :col] (#2000) (aminya)
- fix a bug in select! (#1995) (bkamins)
- Add reference to DataFrames Tutorial in index.md (#1994) (dmolina)
- Avoid recompiling combine for each new NamedTuple or Tuple type (#1992) (nalimilan)
- deprecate names! (#1986) (bkamins)
- Rewrite
select!
to improve performance (#1985) (Ellipse0934) - add travis on widows + x86 and remove AppVeyor (#1984) (bkamins)
- Fix handling of hash collisions in row_group_slots (#1979) (nalimilan)
- allow more flexible cols in groupby and in particular handle empty cols (#1977) (bkamins)
- Allow permutaion of names in rename! (#1974) (innerlee)
- clean up permutecols! and tests (#1972) (bkamins)
- Add InvertedIndex and
in\(\)
examples (#1971) (nilshg) - wrap outstanding tests in data.jl in testset (#1970) (bkamins)
- update documentation of column selection (#1969) (bkamins)
- Fix documentation (#1966) (kojix2)
- allow passing multiple columns arguments to select and select! (#1964) (bkamins)
- allow joins for more than two data frames (#1963) (bkamins)
- allow to create columns using : as row selector (#1961) (bkamins)
- correctly use dotview instead of maybeview in broadcasting contexts (#1960) (bkamins)
- Add :setequal to cols kwarg in vcat, push! and append! (#1958) (bkamins)
- fix Vector for DataFrameRow eltype detection (#1957) (bkamins)
- add error to disallowmissing and disallowmissing! (#1956) (bkamins)
- disallow Base.Generator in setindex! to DataFrameRow (#1951) (bkamins)
- make sure mapcols does not reuse source vectors (#1950) (bkamins)
- fix documentation examples (#1946) (bkamins)
- Fix path to iris.csv (#1944) (nalimilan)
- Use nonmissingtype instead of Missings.T (#1941) (nalimilan)
- Deprecate eltypes (#1940) (nalimilan)
- add skipmissing to by (#1939) (bkamins)
- Stop using makeunique=true for grouping keys in combine (#1938) (nalimilan)
- Make push! more strict (#1937) (bkamins)
- Make sort and sort! type-stable to improve performance (#1934) (nalimilan)
- Cleanup tests (#1931) (bkamins)
- Add
@ref
links togroupby
docstring (#1930) (asinghvi17) - Get values of grouped columns (#1908) (jlumpe)
- target setindex implementation (#1899) (bkamins)
- Throw more specific error, ArgumentError, rather than a general Error() (#1872) (petershintech)
v0.19.4
Make DataFrames.jl to depend on Missings.jl version 0.4.2.
Stop using Missings.T
internally and use nonmissingtype
instead.
v0.19.3
- fixed a bug in deprecation code for when
setindex!
was passed a 1-rowDataFrame
as the right hand side (note though this syntax is not recommended to be used); DataFrameRows
andDataFrameColumns
now supportgetproperty
andpropertynames
and have a custom printing that shows them similarly like data framescategorical
andcategorical!
now acceptType
ascols
argument, so that the user can flexibly decide which columns are converted to categorical based on their typecolumnindex
function from Tables.jl is now exportedAll
andBetween
can now be used for indexing columns of a data frame- passing a
Tuple
as a on keyword argument is deprecated (usePair
instead) - minor documentation and build system improvements
v0.19.2
New features
- added
disallowmissing
,allowmissing
andcategorical
functions unstack
now acceptsrenamecols
keyword argument
Minor changes
- documentation has been updated to reflect new indexing rules
setindex!
deprecation warnings were improved and now take into account new rules of broadcasting into0
-row data frames:eltype
column indescribe
now contains a true element type of a data frame column (previously if the type was an union withMissing
then theMissing
part was stripped, which sometimes lead to user confusion)- broadcasting over
GroupedDataFrame
is now disallowed (it was never intended to work; in the future this might be allowed, but the target design is not decided upon yet) append!
now throwsArgumentError
instead ofErrorException
when column names of appended data frame does not match the target
Bug fixes
- fixed a typo in
append!
error message - fixed a bug in
categorical!
function when aColon
as column selector was passed (the behavior was inconsistent with the documentation); now onlycategorical!(::DataFrame)
changes columns whoseeltype
is<:Union{AbstractString, Missing}
to categorical; any validcategorical!(::DataFrame, cols)
call changes all columns selected bycols
to categorical
v0.19.1
v0.19.1 (2019-07-25)
Changes summary
- correctly handle broadcasting into a single cell of a data frame; now
df[row, col] .= v
broadcasts into the object held indf[row, col]
cell - we now allow broadcasting into empty data frame (data frame
df
for whichisempty(df)
istrue
); in particular we allow column creation in emptyDataFrame
in which case we always create a0
-row vector; push!
andappend!
now make sure that the result of the operation did not corrupt the data frame (which mostly happens when there are column aliasing issues) and throw an error if it happens (this introduces a small overhead but greatly reduces a number of possible bugs in user code)join
,groupby
andshow
-related functions now check if the data frames passed to them are consistent (have the same number of rows in each column and do not have corrupted index)- improved loading time by replacing StatsBase.jl by DataAPI.jl dependency
- fixed documentation generation issues
Closed issues:
- Explanation of the deprecation of df[col] and df[cols] (#1897)
Basics
docs are broken on master (#1891)- Preventing problems with aliased columns (#1885)
- dropna (#1884)
- Release 0.19.0 (#1883)
- describe StatsBase vs DataAPI (#1882)
- Issue when converting Excelfile with missing data to DataFrame (#1878)
- select and deletecols for
SubDataFrame
andDataFrameRow
(#1825) - Surprising setindex/setproperty behaviour (#1815)
- Convience methods for
getproperty
andsetproperty
in DataFrames with new ownership rules (#1753) pairs
outputs warnings (#1751)- Add checks of DataFrame consistency before expensive operations (#1744)
- DataFrames should be indexable by
CartesianIndex{2}
(#1610) - allow vcat to widen columns (#1574)
- Creating an empty DataFrame is unwieldy and has unexpected behavior (#1569)
- Make a DataFrame not iterable (#1513)
- broadcasted
setindex
not working as expected (#1507) - Writing to latex: omitting column with row index (#1381)
- functional interface for deleting columns (#1378)
- Implement a from_records constructor (#1191)
- Markdown display (#1167)
- implement view(::DataFrame, ...) to support broadcasted assignment (#1019)
- JSON to dataframe input and output (#873)
- Implement Base.cor for DataFrame (#583)
- Remove nrow/ncol (#406)
Merged pull requests:
v0.19.0
API changes:
- allow
Regex
indexing of columns - allow
Not
from InvertedIndices.jl indexing of rows and columns - add
!
indexing of rows ofAbstractDataFrame
- deprecate indexing with column or columns only (like
df[:a]
ordf[1:2]
) - define target rules for
getindex
,getproperty,
setindex!, and
setproperty!for
AbstractDataFrameand
DataFrameRow` (in this release old behavior is deprecated; in the next release wit will get replaced by target functionality) - add indexing using
CartesianIndex{2}
forAbstractDataFrame
- full support of broadcasting for
AbstractDataFrame
- support for broadcasting assignment for
DataFrameRow
keys(::DataFrameRow)
now returns aTuple
of column names- added
get
andmap
methods forDataFrameRow
categorical!
now accepts columns that containmissing
valuesget
andhaskey
forAbstractDataFrame
is deprecated nowempty!
forDataFrame
is deprecated now- add
hasproperty
forAbstractDataFrame
Fixes:
- improved showind
DataFrameRow
with zero columns - fix
combine
with aggregation whenskipmissing=true
Minor changes:
- improvements in error messages and types of thrown exceptions on error
- various documentation improvements
- improved
getindex
speed for vector ofBool
indexing - remove InteractiveUtils.jl dependency
v0.18.4
Changes since last release:
- Fix
combine
with aggregation whenskipmissing=true
- Remove
InteractiveUtils
load
v0.18.3
Changes since last release:
- improved
DataFrame
constructor to avoid allocations when it is not necessary - updated compat bounds
- custom
dump
forAbstractDataFrame
method is removed; usesummary
to get a brief description of a data frame instead - fixed errors in
map
onGroupedDataFrame
in a situation when 0 rows are produced