Skip to main content

dfsummarizer

License: MIT build PyPI Documentation Status

This is an application to summarize the variables in a data frame. It will accept a CSV, TSV or XLS file and produce a table summarizing all columns individually.

This was motivated by the fact that the summary function for a pandas data frame ignores all non-numeric columns, and does not contain multiple common analytical considerations: how many unique values, how many missing values, min and max dates, min, mean and max string lengths.

Output can be generated as either Latex or Markdown.

Released and distributed via setuptools/PyPI/pip for Python 3.

Additional detail available in the companion blog post

Notes

Initial implementation can handle larger files by chunking data and iteratively building statistics. All statistics are robust except for estimation of the proportion of unique values. We have used a simple implementation of the Flajolet Martin algorithm based on the implementation by Javia Jinkal

This review article by Phillip Gibbons gives a great overview of the alternatives.

Usage

You can use this application multiple ways

Use the runner:

./dfsummarizer-runner.py markdown data/test.csv > markdown_test.md

Which was used to generate the markdown output test file

Invoke the directory as a package:

python -m dfsummarizer markdown data/test.csv

Or simply install the package and use the command line application directly

Installation

Installation from the source tree:

python setup.py install

(or via pip from PyPI):

pip install dfsummarizer

Now, the dfsummarizer command is available::

dfsummarizer markdown test.csv

This will produce a markdown table summarizing the contents of the CSV file test.csv

Acknowledgements

Python package built using the bootstrap cmdline template by jgehrcke

Name Type Unique Vals Nulls Mode Min Mean Max
id Char 6 0.0% S001 4 4.0 4
opening Date 6 0.0% 2019-01-01 00:00:00 2019-01-01 2019-04-18 2019-07-12
first Bool 2 16.7% NO 0.0 0.4 1.0
last Bool 2 50.0% NaN 0 0.333 1
state Char 3 16.7% NSW 3.0 3.0 3.0
balance Float 5 0.0% 500.0 200.0 1093.55 4230.9
duration Float 3 33.3% 24.0 12.0 21.0 24.0
years Int 3 0.0% 2 2 3.0 4
flag Float 2 66.7% NaN 1.0 1.0 1.0
comments Char 6 0.0% Combined savings account 9 21.167 35

Release files for dfsummarizer 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dfsummarizer 0.1.6
File Size Uploaded
dfsummarizer-0.1.6.tar.gz 10.2 kB Details

Release files / dfsummarizer-0.1.6.tar.gz

Download URL dfsummarizer-0.1.6.tar.gz
Size 10.2 kB
Tags Source
SHA-256 checksum
How to use checksums
67cf3651351cd004e88914368bf665b6b1b29eb43af4d9e330de9ae3b3a3e987
BLAKE2b-256 checksum
How to use checksums
44cd5efedb4ef77880a505ea8100b6eedd8d98e9fe56c23c607aa6276bcae32f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.25.0 setuptools/51.1.0 requests-toolbelt/0.8.0 tqdm/4.61.2 CPython/3.6.10

Release history Release notifications | RSS feed

This release

0.1.6 This release

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page