forked from extern/nushell
93 lines
8.0 KiB
Markdown
93 lines
8.0 KiB
Markdown
# histogram
|
|
|
|
Creates a new table with a histogram based on the column name passed in.
|
|
|
|
Syntax: `histogram <column_name> ...args`
|
|
|
|
## Parameters
|
|
|
|
* `<column-name>`: name of the column to graph by
|
|
* `args`: column name to give the histogram's frequency column
|
|
|
|
## Examples
|
|
|
|
Let's say we have this file `random_numers.csv` which contains 50 random numbers.
|
|
|
|
**Note**: The input doesn't have to be numbers it works on strings too. Try it out.
|
|
|
|
```shell
|
|
> open random_numbers.csv
|
|
────┬────────────────
|
|
# │ random numbers
|
|
────┼────────────────
|
|
0 │ 1
|
|
1 │ 2
|
|
2 │ 2
|
|
...
|
|
47 │ 5
|
|
48 │ 5
|
|
49 │ 1
|
|
────┴────────────────
|
|
```
|
|
|
|
If we now want to see how often the different numbers were generated, we can use the `histogram` function:
|
|
|
|
```shell
|
|
> open random_numbers.csv | histogram "random numbers"
|
|
───┬────────────────┬───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
# │ random numbers │ count │ frequency
|
|
───┼────────────────┼───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
0 │ 0 │ 1 │ ******
|
|
1 │ 1 │ 15 │ ****************************************************************************************************
|
|
2 │ 2 │ 10 │ ******************************************************************
|
|
3 │ 3 │ 7 │ **********************************************
|
|
4 │ 4 │ 9 │ ************************************************************
|
|
5 │ 5 │ 8 │ *****************************************************
|
|
───┴────────────────┴───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
```
|
|
|
|
We can also set the name of the second column or sort the table:
|
|
|
|
```shell
|
|
> open random_numbers.csv | histogram "random numbers" probability
|
|
───┬────────────────┬───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
# │ random numbers │ count │ probability
|
|
───┼────────────────┼───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
0 │ 0 │ 1 │ ******
|
|
1 │ 1 │ 15 │ ****************************************************************************************************
|
|
2 │ 2 │ 10 │ ******************************************************************
|
|
3 │ 3 │ 7 │ **********************************************
|
|
4 │ 4 │ 9 │ ************************************************************
|
|
5 │ 5 │ 8 │ *****************************************************
|
|
───┴────────────────┴───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
|
|
```
|
|
|
|
```shell
|
|
> open random_numbers.csv | histogram "random numbers" probability | sort-by probability
|
|
───┬────────────────┬───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
# │ random numbers │ count │ probability
|
|
───┼────────────────┼───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
0 │ 0 │ 1 │ ******
|
|
1 │ 3 │ 7 │ **********************************************
|
|
2 │ 5 │ 8 │ *****************************************************
|
|
3 │ 4 │ 9 │ ************************************************************
|
|
4 │ 2 │ 10 │ ******************************************************************
|
|
5 │ 1 │ 15 │ ****************************************************************************************************
|
|
───┴────────────────┴───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
|
|
```
|
|
|
|
Of course, histogram operations are not restricted to just analyzing numbers in files, you can also analyze your directories
|
|
|
|
```shell
|
|
> ls -fa | histogram type | sort-by count
|
|
───┬─────────┬───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
# │ type │ count │ frequency
|
|
───┼─────────┼───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
0 │ Symlink │ 8 │ *****************
|
|
1 │ File │ 9 │ ********************
|
|
2 │ Dir │ 45 │ ****************************************************************************************************
|
|
───┴─────────┴───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
```
|