dataframe-js
Version:
Immutable and functional data structure for datascientists and developpers
313 lines (187 loc) • 7.09 kB
Markdown
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
### Table of Contents
- [GroupedDataFrame][1]
- [Parameters][2]
- [toCollection][3]
- [Examples][4]
- [show][5]
- [Parameters][6]
- [Examples][7]
- [listGroups][8]
- [Examples][9]
- [listHashs][10]
- [Examples][11]
- [map][12]
- [Parameters][13]
- [Examples][14]
- [filter][15]
- [Parameters][16]
- [Examples][17]
- [chain][18]
- [Parameters][19]
- [Examples][20]
- [aggregate][21]
- [Parameters][22]
- [Examples][23]
- [pivot][24]
- [Parameters][25]
- [Examples][26]
- [melt][27]
- [Parameters][28]
- [Examples][29]
## GroupedDataFrame
[src/group.js:6-239][30]
Grouped DataFrame structure grouping DataFrame rows by column value.
### Parameters
- `df` **DataFrame** The DataFrame to group by.
- `columnNames`
- `groups`
- `hashes`
- `columnName` **[String][31]** The column used for the group by.
### toCollection
[src/group.js:39-41][32]
Convert GroupedDataFrame into collection (Array) of dictionnaries (Object).
#### Examples
```javascript
groupedDF.toCollection();
```
Returns **[Array][33]** An Array containing group: {groupKey, group}.
### show
[src/group.js:50-60][34]
Display the GroupedDataFrame as String Table.
#### Parameters
- `quiet` **[Boolean][35]** Quiet mode. If true, it doesn't trigger console.log(). (optional, default `false`)
#### Examples
```javascript
groupedDf.show()
```
Returns **[String][31]** The GroupedDataFrame as String Table.
### listGroups
[src/group.js:68-70][36]
List GroupedDataFrame groups.
#### Examples
```javascript
gdf.listGroups()
```
Returns **[Array][33]** An Array containing GroupedDataFrame group names.
### listHashs
[src/group.js:78-80][37]
List GroupedDataFrame groups as a hashCode.
#### Examples
```javascript
gdf.listHashCodes()
```
Returns **[Array][33]** An Array containing GroupedDataFrame hash codes.
### map
[src/group.js:89-95][38]
Map on DataFrame groups.
#### Parameters
- `func` **[Function][39]** The function to apply to each row of each group.
#### Examples
```javascript
groupedDF.map((row,i) => row.set('b', row.get('a')*i));
```
Returns **DataFrame** A new DataFrame containing the result.
### filter
[src/group.js:104-114][40]
Filter a grouped DataFrame.
#### Parameters
- `condition` **[Function][39]** A filter function or a column/value object.
#### Examples
```javascript
groupedDF.filter((row,i) => (i === 0));
```
Returns **DataFrame** A new filtered DataFrame.
### chain
[src/group.js:129-135][41]
Chain maps and filters functions on DataFrame by optimizing their executions.
If a function returns boolean, it's a filter. Else it's a map.
It can be 10 - 100 x faster than standard chains of .map() and .filter().
#### Parameters
- `funcs` **...[Function][39]** Functions to apply on the DataFrame rows taking the row as parameter.
#### Examples
```javascript
groupedDF.chain(
(row, i) => (i === 0), // filter
row => row.set('column1', 3), // map
row => row.get('column2') === '5' // filter
)
```
Returns **DataFrame** A new DataFrame with modified rows.
### aggregate
[src/group.js:145-153][42]
Create an aggregation from a function.
#### Parameters
- `func` **[Function][39]** The aggregation function.
- `columnName` **[String][31]** The column name created by the aggregation. (optional, default `'aggregation'`)
#### Examples
```javascript
groupedDF.aggregate(group => group.stat.sum('column1'));
```
Returns **DataFrame** A new DataFrame with a column 'aggregation' containing the result.
### pivot
[src/group.js:163-191][43]
Pivot a GroupedDataFrame.
#### Parameters
- `columnToPivot` **[String][31]** The column which will be transposed as columns.
- `func` **[Function][39]** The function to define each column value from a DataFrame. (optional, default `(gdf)=>gdf.count()`)
#### Examples
```javascript
df.groupBy('carType').pivot('carModel', values => values.stat.sum('kms'))
```
Returns **DataFrame** The pivot DataFrame.
### melt
[src/group.js:201-238][44]
Melt a DataFrame to make it tidy. It's the reverse of GroupedDataFrame.pivot().
#### Parameters
- `variableColumnName` **[String][31]** The column name containing values. (optional, default `'value'`)
- `valueColumnName` (optional, default `"value"`)
#### Examples
```javascript
df.groupBy('carType').melt('kms')
```
Returns **DataFrame** The tidy DataFrame.
[1]: #groupeddataframe
[2]: #parameters
[3]: #tocollection
[4]: #examples
[5]: #show
[6]: #parameters-1
[7]: #examples-1
[8]: #listgroups
[9]: #examples-2
[10]: #listhashs
[11]: #examples-3
[12]: #map
[13]: #parameters-2
[14]: #examples-4
[15]: #filter
[16]: #parameters-3
[17]: #examples-5
[18]: #chain
[19]: #parameters-4
[20]: #examples-6
[21]: #aggregate
[22]: #parameters-5
[23]: #examples-7
[24]: #pivot
[25]: #parameters-6
[26]: #examples-8
[27]: #melt
[28]: #parameters-7
[29]: #examples-9
[30]: https://github.com/Gmousse/dataframe-js/blob/add47391719e84537fdc30c80f762b3a8b38ba9a/src/group.js#L6-L239 "Source code on GitHub"
[31]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
[32]: https://github.com/Gmousse/dataframe-js/blob/add47391719e84537fdc30c80f762b3a8b38ba9a/src/group.js#L39-L41 "Source code on GitHub"
[33]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
[34]: https://github.com/Gmousse/dataframe-js/blob/add47391719e84537fdc30c80f762b3a8b38ba9a/src/group.js#L50-L60 "Source code on GitHub"
[35]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
[36]: https://github.com/Gmousse/dataframe-js/blob/add47391719e84537fdc30c80f762b3a8b38ba9a/src/group.js#L68-L70 "Source code on GitHub"
[37]: https://github.com/Gmousse/dataframe-js/blob/add47391719e84537fdc30c80f762b3a8b38ba9a/src/group.js#L78-L80 "Source code on GitHub"
[38]: https://github.com/Gmousse/dataframe-js/blob/add47391719e84537fdc30c80f762b3a8b38ba9a/src/group.js#L89-L95 "Source code on GitHub"
[39]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
[40]: https://github.com/Gmousse/dataframe-js/blob/add47391719e84537fdc30c80f762b3a8b38ba9a/src/group.js#L104-L114 "Source code on GitHub"
[41]: https://github.com/Gmousse/dataframe-js/blob/add47391719e84537fdc30c80f762b3a8b38ba9a/src/group.js#L129-L135 "Source code on GitHub"
[42]: https://github.com/Gmousse/dataframe-js/blob/add47391719e84537fdc30c80f762b3a8b38ba9a/src/group.js#L145-L153 "Source code on GitHub"
[43]: https://github.com/Gmousse/dataframe-js/blob/add47391719e84537fdc30c80f762b3a8b38ba9a/src/group.js#L163-L191 "Source code on GitHub"
[44]: https://github.com/Gmousse/dataframe-js/blob/add47391719e84537fdc30c80f762b3a8b38ba9a/src/group.js#L201-L238 "Source code on GitHub"