Changelog History
Page 1
-
v0.18 Changes
- Added support for arrow (Thanks to @Kopilov for contributing PR 150)
- Improved support for large Excels tables (Thanks to @ayvazj for contributing PR 126)
- โ Added second version of
unfold()
to work with property accessors insteadkotlin cars.unfold("cars", listOf(Car::brand, Car::ps))
Minor enhancements
- ๐ Fixed #63: Can not print
schema()
of empty data-frame
-
v0.17 Changes
๐ Released 2021-07-17
- ๐ New Jupyter kernel integration with auto-import and improved rendering for
DataFrame
andDataFrame.schema()
- โ Added
DataFrame.letsPlot()
to ease integration withlets-plots
- ๐ New tutorial (jupyter notebook): Mammalian Sleep
- โก๏ธ Updated to kotlin v1.5 and added supported for
value class
inList<Any>.toDataFrame()
andDataFrame.unfold()
- โ Added timestamp support for database support API (fixes #124)
- ๐ New Jupyter kernel integration with auto-import and improved rendering for
-
v0.16 Changes
๐ Released 2021-04-13
๐
krangl
is now deployed to maven-central and no no longer ot jcenter๐ Features
- โ Added support for fixed-width files with
readFixedWidth()
- โ Added supported for more compact column type specification when reading tsv
- ๐ Fixed: NA and emtpy cell handling in excel-reader
- ๐ Fixed: Use correct cell types when writing Excel file
- โ Added support for fixed-width files with
-
v0.15.6 Changes
Republished to maven central https://search.maven.org/artifact/com.github.holgerbrandl.krangl/krangl
-
v0.15.2 Changes
- ๐ Fixed
gather
conversion in case of mixed number types - ๐จ Indicate guessed column type with prefix Any for basic types in
schema
andprint
- ๐ Fixed
-
v0.15.1 Changes
- ๐ Fixed asDataFrame to include parent type properties
- โ Added
DataFrame.filterNotNull
to remove records will nulls. A column selector can be provided to check only a subset of columns.
-
v0.15 Changes
November 05, 2020๐ New Features
- ๐ #97 Added Excel read/write support (by LeandroC89) ```kotlin
// read df = DataFrame.readExcel("data.xlsx", sheetName = "sales") df = DataFrame.readExcel("data.xlsx", cellRange = CellRangeAddress.valueOf("A1:D10"))
// write df.writeExcel("results.xslx")
* [#95](https://github.com/holgerbrandl/kscript/issues/95) Improved column type casts
dataFrameOf("foo")(1, 2, 3).addColumn("stringified_foo") { it["foo"].toStrings() }.schema()
DataFrame with 3 observations foo [Int] 1, 2, 3 stringified_foo [Str] 1, 2, 3
dataFrameOf("foo")("1", "2", "3").addColumn("parsed_foo") { it["foo"].toInts() }.schema()
DataFrame with 3 observations foo [Str] 1, 2, 3 parsed_foo [Int] 1, 2, 3
- #99 Added filtering by list (similar to R's
%in%
operator)kotlin irisData.filter { it["Species"].inList("setosa", "versicolor") }
๐ Bug Fixes
-
v0.14 Changes
October 07, 2020- ๐ Fixed missing by values overhanging RHS in outer join (fixes #94)
- โ Added addRow (via PR92 by LeandroC89
- โ Added column type text to sql interface (fixes #72)
-
v0.13 Changes
July 02, 2020๐ Released: 2020-06-02
โ Added column transformation to calculate cumulative sum
cumSum
sales .sortedBy("quarter") .addColumn("cum_sales" to { it["sold_units"].cumSum()})
๐ Added column transformation
pctChange
to calculate percentage change between the current and a prior element. similar to pct_change in pandas (contributed by @amorphous1 in PR85)sales .groupBy("product") .addColumn("sales_pct_change" to { it["sold_units"].pctChange() })
โ Added
lead
andlag
(contributed by @amorphous1 in PR85)sales .groupBy("product") .sortedBy("quarter") .addColumn("prev_quarter_sales" to { it["sold_units"].lag() })
๐ Significantly improved join performance (contributed by @amorphous1 in PR85)
๐ New: Extended
bindRows
API to combine data rowwise (see PR #77 by @CrystalLord)val person1 = mapOf("person" to "James", "year" to 1996) val person2 = mapOf("person" to "Anne", "year" to 1998)
emptyDataFrame().bindRows(person1, person2).print()