Skip to content

Commit

Permalink
Merge pull request #753 from JuliaStats/news
Browse files Browse the repository at this point in the history
Updating doc and cleaning house for overdue release
  • Loading branch information
garborg committed Jan 1, 2015
2 parents e773255 + d685269 commit dbdb59a
Show file tree
Hide file tree
Showing 19 changed files with 213 additions and 398 deletions.
28 changes: 25 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,29 @@
# Style Guidelines
Thanks for taking the plunge!

* Include spaces after commmas
## Reporting Issues

* It's always good to start with a quick search for an existing issue to post on, or related issues for context, before opening a new issue
* Including minimal examples is greatly appeciated
* If it's a bug, or unexpected behaviour, reproducing on the latest development version (`Pkg.checkout("DataFrames")`) is a good gut check and can streamline the process, along with including the first two lines of output from `versioninfo()`

## Contributing

* Feel free to open, or comment on, an issue and solicit feedback early on, especially if you're unsure about aligning with design goals and direction, or if relevant historical comments are ambiguous
* Pair new functionality with tests, and bug fixes with tests that fail pre-fix. Increasing test coverage as you go is always nice
* Aim for atomic commits, if possible, e.g. `change 'foo' behavior like so` & `'bar' handles such and such corner case`, rather than `update 'foo' and 'bar'` & `fix typo` & `fix 'bar' better`
* Pull requests are tested against release and development branches of Julia, so using `Pkg.test("DataFrames")` as you develop can be helpful
* The style guidelines outlined below are not the personal style of most contributors, but for consistency throughout the project, we've adopted them

## Style Guidelines

* Include spaces
+ After commas
+ Around operators: `=`, `<:`, comparison operators, and generally around others
+ But not after opening parentheses or before closing parentheses
* Use four spaces for indentation (test data files and Makefiles excepted)
* Don't leave trailing whitespace at the end of lines
* Don't go over the 79 per-line character limit
* Avoid squashing code blocks onto one line, e.g. `for foo in bar; baz += qux(foo); end`
* Don't explicitly parameterize types unless it's necessary
* Never leave things without type qualifications. Use an explicit Any.
* Never leave things without type qualifications. Use an explicit `::Any`.
* Order method definitions from most specific to least specific type constraints
201 changes: 165 additions & 36 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,118 @@
DataFrames v0.6.0 Release Notes
===============================

Focus on performance improvements and rooting out bugs in corner cases.

New features
------------
* Constructor for empty DataFrames allows specifying PDAs ([#725])
* `stack(df)` and `melt(df)`, which take FloatingPoint vars as measure vars ([#734])
* New convenience methods for `unstack` ([#734])
* `convertdataframes` option added to `read_rda` ([#751])

Changes
-------
* `vcat(dfs)` handles container and eltype promotion ([#747])
* `join` finally handles DataFrames with no non-key columns ([#749])
* sorting methods throw an error when args meant for `cols` are passed to `by` ([#749])
* `rename!` and `rename` throw when column to be renamed does not exist ([#749])
* `names!`, `rename!`, and `rename` for DataFrames now return DataFrames ([#749])

Deprecations
------------
* Deprecates `by(df, cols, [symbol(s)])` in favor of `aggregate(df, cols, [function(s)])` ([#726])
* Removes `pivottable` in favor of other reshaping methods ([#734])
* Deprecates `nullable!(..., ::AbstractDataFrame)` in favor of `nullable!(::DataFrame, ...)` ([#752])
* Deprecates `keys(df)`, `values(df)` ([#752])
* Renames `insert!(df, df)` to `merge!(df, dfs...)` ([#752])

DataFrames v0.5.12 Release Notes
===============================

Track changes to JuliaLang/julia

DataFrames v0.5.11 Release Notes
===============================

Track changes to JuliaLang/julia

DataFrames v0.5.10 Release Notes
===============================
* Fixed Tests for Forumula.jl ([#700])
* Now handles Julia0.4 `dicts` ([#698])
* Now using ReadTheDocs

New features
------------
* Formulas handle three-way (and higher) interactions ([#700])

Changes
-------
* Now using ReadTheDocs for documentation

DataFrames v0.5.9 Release Notes
===============================

Track changes to JuliaLang/julia

DataFrames v0.5.8 Release Notes
===============================

New features
------------
* Extends `StatsBase.predict` to take a DataFrame as a predictor ([#679])
* `coefnames` handles random-effect terms ([#662])

Deprecations
------------
* Deprecates `DataFrame(::Dict, ...)` in favor of `convert` ([#626])

DataFrames v0.5.7 Release Notes
===============================

New features
------------
* `deleterows!(df::DataFrame, inds)` ([#635])

Changes
-------
* `empty!(::DataFrame)` and `insert!(::DataFrame, ...)` now operate in place ([#634])
* All exported higher-order functions now handle do-block syntax ([#643])

DataFrames v0.5.6 Release Notes
===============================

Track changes to JuliaLang/julia

DataFrames v0.5.5 Release Notes
===============================

New features
------------
* Support fitting arbitrary StatisticalModels ([#571])
* Test coverage now tracked via Coveralls.io ([#597])

Changes
-------
* `show(::AbstractDataFrame)` now shows all columns by default

Deprecations
------------
* Deprecates `DataFrame(::Any...)`, `DataFrame(::Associative)` ([#610])

DataFrames v0.5.4 Release Notes
===============================

New features
------------
* `push!` methods add a row to a DataFrame ([#621])
* Test coverage now tracked via Coveralls.io ([#597])

Changes
-------
* IO functions ensure column names are valid symbols ([#563])
* `setindex!` methods now return the updated DataFrame

Deprecations
------------
* Deprecates `DataFrame(::Int, ::Int)` ([#561])

DataFrames v0.5.3 Release Notes
===============================
Expand All @@ -17,29 +126,29 @@ Continues trend of stripping down features and improving core functionality.

New features
------------
* append!(::AbstractDataFrame, ::AbstractDataFrame) ([#506])
* `join` supports `:semi`-, `:anti`- and `:cross`-joins ([#524], [#536])
* Implement `eltypes` argument in `readtable` ([#497])
* Read from generic IO objects ([#499])
* `append!(::AbstractDataFrame, ::AbstractDataFrame)` ([#506])
* `join` supports `:semi`-, `:anti`- and `:cross`-joins ([#524], [#536])
* Implement `eltypes` argument in `readtable` ([#497])
* Read from generic IO objects ([#499])

Changes
-------
* Convert to using only symbols (no more strings) for column names ([#509])
* Renames `stack_df`, `melt_df`, `pivot_table` to `stackdf`, `meltdf`, `pivottable` ([#538])
* Renames `duplicated`, `drop_duplicates!` to `nonunique`, `unique!` ([#538])
* Renames `load_df` to `loaddf` ([#538])
* Renames `types` to `eltypes` ([#539])
* Renames `readtable` argument `colnames` to `names` ([#497])
* Convert to using only symbols (no more strings) for column names ([#509])
* Renames `stack_df`, `melt_df`, `pivot_table` to `stackdf`, `meltdf`, `pivottable` ([#538])
* Renames `duplicated`, `drop_duplicates!` to `nonunique`, `unique!` ([#538])
* Renames `load_df` to `loaddf` ([#538])
* Renames `types` to `eltypes` ([#539])
* Renames `readtable` argument `colnames` to `names` ([#497])

Deprecations
------------
* Removes expression-based indexing, including `with`, `within!`, `based_on`, etc. ([#492])
* Removes `DataStream` ([#492])
* Removes `NamedArray` ([#492])
* Removes column groupings (`set_groups`, `get_groups`, etc.) ([#492])
* Removes specific colwise and rowwise functions (`rowsums`, `colnorms`, etc.) ([#492])
* Removes `@DataFrame` and `@transform` ([#492])
* Deprecates natural `join`s: the key must be specified now ([#536])
* Removes expression-based indexing, including `with`, `within!`, `based_on`, etc. ([#492])
* Removes `DataStream` ([#492])
* Removes `NamedArray` ([#492])
* Removes column groupings (`set_groups`, `get_groups`, etc.) ([#492])
* Removes specific colwise and rowwise functions (`rowsums`, `colnorms`, etc.) ([#492])
* Removes `@DataFrame` and `@transform` ([#492])
* Deprecates natural `join`s: the key must be specified now ([#536])

DataFrames v0.5.1 Release Notes
===============================
Expand All @@ -48,17 +157,17 @@ Removing prototype features until core functionality is farther along.

Changes
-------
* Write `Formula`s without quoting, thanks to the `@~` macro ([JuliaLang/julia#4882])
* Renames `EachCol`, `EachRow` to `eachcol`, `eachrow` ([#474])
* `eachrow` returns a `DataFrameRow` ([#474])
* `SubDataFrames` are now immutable ([#474])
* Write `Formula`s without quoting, thanks to the `@~` macro ([JuliaLang/julia#4882])
* Renames `EachCol`, `EachRow` to `eachcol`, `eachrow` ([#474])
* `eachrow` returns a `DataFrameRow` ([#474])
* `SubDataFrames` are now immutable ([#474])

Deprecations
------------
* Removes `IndexedVector` ([#483])
* Removes `Blocks.jl` functionality ([#483])
* Removes methods that treat DataFrame like a matrix, e.g `round`, `sin` ([#484])
* Deprecates `sub`'s alias `subset` ([#474])
* Removes `IndexedVector` ([#483])
* Removes `Blocks.jl` functionality ([#483])
* Removes methods that treat DataFrame like a matrix, e.g `round`, `sin` ([#484])
* Deprecates `sub`'s alias `subset` ([#474])

DataFrames v0.5.0 Release Notes
===============================
Expand All @@ -67,20 +176,20 @@ Improved I/O and more-Julian idioms.

New features
------------
* Write HTML tables via writemime ([#433])
* Read whitespace-delimited input ([#443])
* Read input with C-style escapes ([#454])
* Write HTML tables via writemime ([#433])
* Read whitespace-delimited input ([#443])
* Read input with C-style escapes ([#454])

Changes
-------
* `sort` interface updated to better match mainline Julia ([#389])
* `names!`, `rename!`, and `delete!` now return the updated Index, rather than the names in the Index ([#445])
* Renames `coltypes`, `colnames`, `clean_colnames!` to `types`, `names`, `cleannames!` ([#469])
* Various improvements to `print`/`show` methods
* `sort` interface updated to better match mainline Julia ([#389])
* `names!`, `rename!`, and `delete!` now return the updated Index, rather than the names in the Index ([#445])
* Renames `coltypes`, `colnames`, `clean_colnames!` to `types`, `names`, `cleannames!` ([#469])
* Various improvements to `print`/`show` methods

Deprecations
------------
* Deprecates `rbind`, `cbind` and `vecbind` deprecated in favor of `hcat` and `vcat` ([#453])
* Deprecates `rbind`, `cbind` and `vecbind` deprecated in favor of `hcat` and `vcat` ([#453])

[#389]: https://github.com/JuliaStats/DataFrames.jl/issues/389
[#433]: https://github.com/JuliaStats/DataFrames.jl/issues/433
Expand All @@ -101,6 +210,26 @@ Deprecations
[#536]: https://github.com/JuliaStats/DataFrames.jl/issues/536
[#538]: https://github.com/JuliaStats/DataFrames.jl/issues/538
[#539]: https://github.com/JuliaStats/DataFrames.jl/issues/539
[#561]: https://github.com/JuliaStats/DataFrames.jl/issues/561
[#563]: https://github.com/JuliaStats/DataFrames.jl/issues/563
[#571]: https://github.com/JuliaStats/DataFrames.jl/issues/571
[#597]: https://github.com/JuliaStats/DataFrames.jl/issues/597
[#610]: https://github.com/JuliaStats/DataFrames.jl/issues/610
[#621]: https://github.com/JuliaStats/DataFrames.jl/issues/621
[#626]: https://github.com/JuliaStats/DataFrames.jl/issues/626
[#634]: https://github.com/JuliaStats/DataFrames.jl/issues/634
[#635]: https://github.com/JuliaStats/DataFrames.jl/issues/635
[#643]: https://github.com/JuliaStats/DataFrames.jl/issues/643
[#662]: https://github.com/JuliaStats/DataFrames.jl/issues/662
[#679]: https://github.com/JuliaStats/DataFrames.jl/issues/679
[#700]: https://github.com/JuliaStats/DataFrames.jl/issues/700
[#725]: https://github.com/JuliaStats/DataFrames.jl/issues/725
[#726]: https://github.com/JuliaStats/DataFrames.jl/issues/726
[#734]: https://github.com/JuliaStats/DataFrames.jl/issues/734
[#747]: https://github.com/JuliaStats/DataFrames.jl/issues/747
[#749]: https://github.com/JuliaStats/DataFrames.jl/issues/749
[#751]: https://github.com/JuliaStats/DataFrames.jl/issues/751
[#752]: https://github.com/JuliaStats/DataFrames.jl/issues/752

[JuliaLang/julia#4882]: https://github.com/JuliaLang/julia/issues/4882
[JuliaLang/julia#5897]: https://github.com/JuliaLang/julia/issues/5897
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
DataFrames.jl
=============

[![Build Status](https://travis-ci.org/JuliaStats/DataFrames.jl.svg?branch=master)](https://travis-ci.org/JuliaStats/DataFrames.jl)
[![Coverage Status](http://img.shields.io/coveralls/JuliaStats/DataFrames.jl.svg)](https://coveralls.io/r/JuliaStats/DataFrames.jl)
[![DataFrames](http://pkg.julialang.org/badges/DataFrames_release.svg)](http://pkg.julialang.org/?pkg=DataFrames&ver=release)
[![Coverage Status](http://img.shields.io/coveralls/JuliaStats/DataFrames.jl.svg)](https://coveralls.io/r/JuliaStats/DataFrames.jl)
[![Build Status](https://travis-ci.org/JuliaStats/DataFrames.jl.svg?branch=master)](https://travis-ci.org/JuliaStats/DataFrames.jl)
[![Build status](https://ci.appveyor.com/api/projects/status/github/JuliaStats/DataFrames.jl?svg=true&branch=master)](https://ci.appveyor.com/project/garborg/dataframes-jl/branch/master)

Tools for working with tabular data in Julia.

Tools for working with data in Julia.
**Installation**: at the Julia REPL, `Pkg.add("DataFrames")`

**Installation**: at the Julia REPL: `Pkg.add("DataFrames")`
**Documentation**: [available here](http://dataframesjl.readthedocs.org/en/latest/)

**Documentation**: [available here](http://dataframesjl.readthedocs.org/en/latest/).
**Reporting Issues and Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
43 changes: 15 additions & 28 deletions src/DataFrames.jl
Original file line number Diff line number Diff line change
Expand Up @@ -32,35 +32,33 @@ import Base.AsyncStream
##############################################################################

export @~,

AbstractDataFrame,
DataFrame,
DataFrameRow,
Formula,
GroupApplied,
GroupedDataFrame,
ModelFrame,
ModelMatrix,
SubDataFrame,

aggregate,
array,
by,
cbind,
coefnames,
colwise,
combine,
complete_cases,
complete_cases!,
DataFrame,
DataFrameRow,
deleterows!,
describe,
eachcol,
eachrow,
eltypes,
flipud!,
flipud,
Formula,
gl,
GroupApplied,
groupby,
GroupedDataFrame,
interaction_design_matrix,
loaddf,
model_response,
ModelFrame,
ModelMatrix,
melt,
meltdf,
names!,
ncol,
nonunique,
Expand All @@ -70,28 +68,17 @@ export @~,
pool,
pool!,
printtable,
rbind,
read_rda,
readtable,
rename!,
rename,
save,
showcols,
stack,
SubDataFrame,
subset,
unique,
stackdf,
unique!,
unstack,
writetable,
xtab,
xtabs,
stackdf,
melt,
meltdf,
pivottable,
read_rda,
vecbind,
push!
writetable

##############################################################################
##
Expand Down
Loading

0 comments on commit dbdb59a

Please sign in to comment.