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
This command allows you to calculate the sum of values in a column.
## Examples
# sum 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.
```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.
One way to solve this is to convert each row to an integer and then pipe the result to `sum`
```shell
> open example.csv
━━━┯━━━━━━━━━┯━━━━━━━━┯━━━━━━━━━━
# │ fruit │ amount │ quality
───┼─────────┼────────┼──────────
0 │ apples │ 1 │ fresh
1 │ bananas │ 2 │ old
2 │ oranges │ 7 │ fresh
3 │ kiwis │ 25 │ rotten
━━━┷━━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━
> 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 | sum
| ^^^^ source
```
```shell
> open example.csv | get amount | sum
error: Unrecognized type in stream: Primitive(String("1"))
> open tests/fixtures/formats/caco3_plastics.csv | get tariff_item | str --to-int | sum
━━━━━━━━━━━━━
<value>
─────────────
29154639996
━━━━━━━━━━━━━
```