Command Line Analysis Tools: A collection of tools for doing data analysis.
Project description
clat
Command Line Analysis Tools: A collection of tools for doing data analysis.
This project started out as a small collection of example scripts to learn about using Python for simple data analysis at the command line and grew into a collection of utilities I have found useful.
Installation
Install this tool using pip
:
$ pip install clat
Usage
clat
consists of several different commands, all named with the clat-
prefix. For example, clat-avg
computes the average of a set of numbers. It behaves like a standard UNIX filter program.
set 10 | clat-avg
5.5
There are scripts for computing the sum, standard deviation, generating histograms, plotting, and more. To see a list of available tools, just type clat-
and then press <TAB>
a couple of times. All commands
accept the --help
option.
Filters
clat
includes commands for computing the sum, average, standard deviation, root mean square, and uncertainty (standard error of the mean) for a stream of data. These commands read data from standard input and behave
like a normal UNIX filter (grep
,cut
,sort
,etc). For example:
echo -e '1\n2\n3' | clat-sum
echo -e '1\n2\n3' | clat-avg
echo -e '1\n2\n3' | clat-stddev
echo -e '1\n2\n3' | clat-rms
echo -e '1\n2\n3' | clat-unc
6.0
2.0
1.0
2.160246899469287
0.5773502691896258
Generators
Sometimes it is useful to be able to generate some data at the command line. For example, creating a test function to use with some other analysis tool or check that your plotting program is working.
In the past I have used seq
with gawk
to do this, but it gets clumsy. The clat-func
command was created to make this easier. For example, to generate a Gaussian function from -1 to 1, you could do this
clat-func --x-min -1 --x-max 1 --n 20 --y "exp( -({x}/0.2)**2 ) "
-1.0 1.3887943864964021e-11
-0.8947368421052632 2.032802578425745e-09
-0.7894736842105263 1.7098030687941603e-07
-0.6842105263157895 8.26400593449372e-06
-0.5789473684210527 0.00022952436120824522
-0.4736842105263158 0.003663199685231906
-0.368421052631579 0.033595881277480345
-0.26315789473684215 0.17705374665950163
-0.1578947368421053 0.5361889303292543
-0.052631578947368474 0.9330914390145757
0.05263157894736836 0.9330914390145759
0.1578947368421053 0.5361889303292543
0.26315789473684204 0.17705374665950185
0.36842105263157876 0.033595881277480484
0.4736842105263157 0.003663199685231916
0.5789473684210527 0.00022952436120824522
0.6842105263157894 8.264005934493735e-06
0.7894736842105261 1.7098030687941723e-07
0.894736842105263 2.0328025784257597e-09
1.0 1.3887943864964021e-11
CAREFUL!! This script uses Pythons eval(...)
function to evaluate the arguments passed to the various options so that you can use expressions. For example:
clat-func --x-min 0 --x-max 2*pi --n 10 --y "sin({x})"
0.0 0.0
0.6981317007977318 0.6427876096865393
1.3962634015954636 0.984807753012208
2.0943951023931953 0.8660254037844387
2.792526803190927 0.34202014332566893
3.490658503988659 -0.3420201433256687
4.1887902047863905 -0.8660254037844383
4.886921905584122 -0.9848077530122081
5.585053606381854 -0.6427876096865395
6.283185307179586 -2.4492935982947064e-16
That means you should only run this with TRUSTED input. You have been warned...
Plotting
The clat-plot
command can be used to quickly plot some data at the command line. It reads from standard input and uses Gnuplot to generate the graph.
clat-func --x-min 0 --x-max 2*pi --n 100 --y "sin({x})" | clat-plot -i
This will open a plot window with this graph
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file clat-1.1.tar.gz
.
File metadata
- Download URL: clat-1.1.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b88c71058780d6d473fc04706ebbf7860a77e46db965d3168439ae5da710aec |
|
MD5 | 321a7cd84bd95448dcf7b1ac85bf486b |
|
BLAKE2b-256 | d7dad9e9a4835bcde6a243bf7e39f5b5659ed0346c2af61d57e41ed900bcd4e5 |