Releases: javascriptdata/danfojs
[LATEST] Release Node (v0.3.2), Browser (0.3.2)
Minor patch update for column name display after aggregation functions like sum, mean, var, are applied to a column axis.
New Release for Danfojs Node(v0.3.1) and Browser (0.3.1)
New Features
- Ability to create empty frames
- Flag for toggling between low/high memory mode
- Inplace support for all mutating operations
- Ability to set Configuration values on frame creation
- Support boolean mask for subsetting with iloc and loc. E.g
df.iloc({rows: df["count"].gt(5), columns: [0, 1]})
- Update an existing column value via subsetting. E.g
df["count"] = [1,3,4,5]
- Add loc indexing support for Series
- Add configuration support for formating DataFrame display in the console
- New DataFrame applyMap function for element-wise apply function
- and and or logical comparison support. E.g
df.loc({
rows: df['Salary_in_1000'].gte(100)).and(df['Age'].gt(60))
})
- read_csv now uses Papaparse and supports config values for headers, separator, etc.
- to_csv , to_json and to_excel functions now support saving to local disk in Node and downloadable in the browser. Also, supports config parameters for output.
- read_json now supports config values for headers, authentication, separator, etc.
- read_excel now uses XLSX parser, hence supports all XLSX config options.
- DataFrame query function now accepts boolean masks with single or multiple conditions. E.g
df.query({
rows: df['Salary_in_1000'].gte(100)).and(df['Age'].gt(60))
})
Bug Fixes
- Column data not being updated when mutating internal data array
- Str class error for non-string type
- Better error message
- Fix support for all JS Date format
- Fix loc slicing bug for row index with string labels
- DataFrame apply function now works only across a specified axis
Contributors
New Release for Danfojs Node(v0.2.7) and Browser (0.2.6)
[Bug Fix]: #206 #203 #200 #198 #198 #188 #181 #175 #183 #168
[Patch] #191 #161 #206
Thanks to @risenW @steveoni @jpjagt @sponsfreixes @bherbruck @woosuk288 and @adithyaakrishna
New Release for Node(v0.2.6) and Browser (0.2.5)
[Bug Fix]: #150 #152
[Patch] #159 , #158
[Feature] #154 New Groupby feature: Perform groupby operation on grouped columns directly:
group = df.groupby(['A"])
group.min()
groupby.apply((x) => x.add(2))
groupby.col(["C"]).apply((x) => x.min())
Contributors: @steveoni @PrawiraGenestonlia @woosuk288 @risenW
New Release for browser and node env
We added/updated the following features:
- Fix error thrown when danfojs CDN is placed in an HTML header
- Smaller bundle size for browser: From ~1.7mb to about ~550kb
- Stopped bundling Danfojs with Plotly. This means that as of v0.2.3, we no longer ship with Plotly distribution due to the huge size. Plotly * plots are still supported, but in order to make them, you have to explicitly add the Plotly CDN or package.
A simple example:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.plot.ly/plotly-1.2.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/bundle.min.js"></script>
<title>Document</title>
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
<script>
dfd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv")
.then(df => {
df['AAPL.Open'].plot("div1").box() //makes a box plot
df.plot("div2").table() //display csv as table
new_df = df.set_index({ key: "Date" }) //resets the index to Date column
new_df.plot("div3").line({ columns: ["AAPL.Open", "AAPL.High"] }) //makes a timeseries plot
}).catch(err => {
console.log(err);
})
</script>
</body>
</html>
Latest Release for browser environment
- Fix browser tag issue and returns back to specific versioning instead of @latest
- This release fixes some runtime issue regarding @babel/runtime
- Smaller size in this version. From ~8mb to about ~5mb
- Release now ships with exported version of tensorflowjs (2.8.5). This fixes the double dependency issue when building ML models, as you no longer need to install/import tensorflowjs separately.
To use tensoflowjs, you can reference it from danfo as shown below:
const tf = dfd.tf //contains a reference to the tensorflowjs-node library
const model = tf.sequential();
model.add(tf.layers.dense({ inputShape: [7], units: 124, activation: 'relu', kernelInitializer: 'leCunNormal' }));
model.add(tf.layers.dense({ units: 64, activation: 'relu' }));
model.summary();
New Danfojs-Node Release
- This release fixes some runtime issue regarding @babel/runtime
- Release comes with exported version of tensorflowjs-node (2.8.5). This fixes the double dependency issue when building ML models, as you no longer need to install/import tensorflowjs separately.
To use tensoflowjs-node, you can reference it from danfo as shown below:
const dfd = require("danfojs-node")
const tf = dfd.tf //contains a reference to the tensorflowjs-node library
const model = tf.sequential();
model.add(tf.layers.dense({ inputShape: [7], units: 124, activation: 'relu', kernelInitializer: 'leCunNormal' }));
model.add(tf.layers.dense({ units: 64, activation: 'relu' }));
model.summary();
Build for Node-based environments (v0.1.3-beta)
This is a patch release for node-based environments. We added/updated the following features:
- Ability to create DataFrame/Series from Tensors
- Add iloc function for Series
- Update addColumns function to accept Series
- Add inplace option for fillna
- Fix bug in rename function of DataFrame
- Add Inplace option for query
- Fixed upper bound bug in indexing
v0.1.0-browser-beta
This is a minor release for browser-based environments.
We added/updated the following features:
- Ability to create DataFrame/Series from Tensors
- Add iloc function for Series
- Update addColumns function to accept Series
- Add inplace option for fillna
- Fix bug in rename function of DataFrame
- Add Inplace option for query
- Fixed upper bound bug in indexing
Optimized build for Node Environment
v0.1.2-beta Merge branch 'master' of https://github.com/opensource9ja/danfojs