add docs for average and give more specific examples for sum

This commit is contained in:
notryanb@gmail.com 2019-10-16 20:40:19 -04:00
parent 43fbf4345d
commit f9fbb0eb3c
2 changed files with 67 additions and 17 deletions

42
docs/commands/average.md Normal file
View File

@ -0,0 +1,42 @@
# average This command allows you to calculate the average of values in a column. ## Examples
To get the average of the file sizes in a directory, simply pipe the size column from the ls command to the sum command.
```shell
> ls | get size | average
━━━━━━━━━
<value>
━━━━━━━━━
2282.727272727273
━━━━━━━━━
```
```shell
> pwd | split-row / | size | get chars | average
━━━━━━━━━
<value>
━━━━━━━━━
5.250000000000000
━━━━━━━━━
```
Note that average only works for integer and byte values at the moment, and if the shell doesn't recognize the values in a column as one of those types, it will return an error.
One way to solve this is to convert each row to an integer and then pipe the result to `average`
```shell
> open tests/fixtures/formats/caco3_plastics.csv | get tariff_item | average
error: Unrecognized type in stream: Primitive(String("2509000000"))
- shell:1:0
1 | open tests/fixtures/formats/caco3_plastics.csv | get tariff_item | average
| ^^^^ source
```
```shell
> open tests/fixtures/formats/caco3_plastics.csv | get tariff_item | str --to-int | average
━━━━━━━━━━━━━━━━━━━
<value>
───────────────────
3239404444.000000
━━━━━━━━━━━━━━━━━━━
```

View File

@ -1,9 +1,4 @@
# sum # sum This command allows you to calculate the sum of values in a column. ## Examples
This command allows you to calculate the sum of values in a column.
## Examples
To get the sum of the file sizes in a directory, simply pipe the size column from the ls command to the sum command. To get the sum of the file sizes in a directory, simply pipe the size column from the ls command to the sum command.
```shell ```shell
@ -15,21 +10,34 @@ To get the sum of the file sizes in a directory, simply pipe the size column fro
━━━━━━━━━ ━━━━━━━━━
``` ```
To get the sum of the characters in your present working directory.
```shell
> pwd | split-row / | size | get chars | sum
━━━━━━━━━
<value>
━━━━━━━━━
21
━━━━━━━━━
```
Note that sum only works for integer and byte values at the moment, and if the shell doesn't recognize the values in a column as one of those types, it will return an error. Note that sum only works for integer and byte values at the moment, and if the shell doesn't recognize the values in a column as one of those types, it will return an error.
One way to solve this is to convert each row to an integer and then pipe the result to `sum`
```shell ```shell
> open example.csv > open tests/fixtures/formats/caco3_plastics.csv | get tariff_item | average
━━━┯━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━ error: Unrecognized type in stream: Primitive(String("2509000000"))
# │ fruit │ amount │ quality - shell:1:0
───┼─────────┼────────┼────────── 1 | open tests/fixtures/formats/caco3_plastics.csv | get tariff_item | sum
0 │ apples │ 1 │ fresh | ^^^^ source
1 │ bananas │ 2 │ old
2 │ oranges │ 7 │ fresh
3 │ kiwis │ 25 │ rotten
━━━┷━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━
``` ```
```shell ```shell
> open example.csv | get amount | sum > open tests/fixtures/formats/caco3_plastics.csv | get tariff_item | str --to-int | sum
error: Unrecognized type in stream: Primitive(String("1")) ━━━━━━━━━━━━━
<value>
─────────────
29154639996
━━━━━━━━━━━━━
``` ```