UNPKG

dataframe-js

Version:

Immutable and functional data structure for datascientists and developpers

313 lines (187 loc) 7.09 kB
<!-- 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"