Skip to content

Commit

Permalink
Commit for pandas-profiling v2.5.0
Browse files Browse the repository at this point in the history
- Progress bar added (#224)
- Character analysis for Text/NLP (#278)
- Themes: configuration and demo's (Orange, Dark)
- Tutorial on modifying the report's structure (#362; #281, #259, #253, #234). This jupyter notebook also demonstrates how to use the Kaggle api together with pandas-profiling.
- Toggle descriptions at correlations.

Deprecation:

- This is the last version to support Python 3.5.

Stability:

- The order of columns changed when sort="None" (#377, fixed).
- Pandas v1.0.X is not yet supported (#367, #366, #363, #353, pinned pandas to < 1)
- Improved mixed type detection (#351)
- Refactor of report structures.
- Correlations are more stable (e.g. Phi_k color scale now from 0-1, rows and columns with NaN values are dropped, #329).
- Distinct counts exclude NaNs.
- Fixed alerts in notebooks.

Other improvements:

- Warnings are now sorted.
- Links to Binder and Google Colab are added for notebooks (#349)
- The overview section is tabbed.
  • Loading branch information
sbrugman committed Feb 14, 2020
1 parent 61e04b6 commit 18feb0c
Show file tree
Hide file tree
Showing 230 changed files with 322,369 additions and 276,070 deletions.
21 changes: 16 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,24 @@ docs:
rmdir docs/pandas_profiling

test:
pytest --black tests/unit/
pytest --black tests/issues/
pytest --nbval tests/notebooks/
flake8 . --select=E9,F63,F7,F82 --show-source --statistics
pytest --black tests/unit/
pytest --black tests/issues/
pytest --nbval tests/notebooks/
flake8 . --select=E9,F63,F7,F82 --show-source --statistics

install:
pip install -e .

lint:
black .
black .

typing:
pytest --mypy -m mypy .

all:
make lint
make install
make examples
make docs
make test
make typing
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@ With your help, we got approved for [GitHub Sponsors](https://github.com/sponsor
It's extra exciting that GitHub **matches your contribution** for the first year.
Therefore, we welcome you to support the project through GitHub!

The v2.4 release includes many new features (performance, exporting, GUI and datasets) and stability improvements.
The v2.5.0 release includes many new features and stability improvements.

- [Sponsor the project on GitHub](https://github.com/sponsors/sbrugman)
- [Read the release notes v2.4](https://github.com/pandas-profiling/pandas-profiling/releases/tag/v2.4.0)
- [Read the release notes v2.5.0](https://github.com/pandas-profiling/pandas-profiling/releases/tag/v2.5.0)

*January 7, 2020*
*February 14, 2020 💘*

---

Expand All @@ -53,14 +53,17 @@ _Contents:_ **[Examples](#examples)** |
The following examples can give you an impression of what the package can do:

* [Census Income](http://pandas-profiling.github.io/pandas-profiling/examples/census/census_report.html) (US Adult Census data relating income)
* [NASA Meteorites](http://pandas-profiling.github.io/pandas-profiling/examples/meteorites/meteorites_report.html) (comprehensive set of meteorite landings)
* [Titanic](http://pandas-profiling.github.io/pandas-profiling/examples/titanic/titanic_report.html) (the "Wonderwall" of datasets)
* [NASA Meteorites](http://pandas-profiling.github.io/pandas-profiling/examples/meteorites/meteorites_report.html) (comprehensive set of meteorite landings) [![Open In Colab](https://camo.githubusercontent.com/52feade06f2fecbf006889a904d221e6a730c194/68747470733a2f2f636f6c61622e72657365617263682e676f6f676c652e636f6d2f6173736574732f636f6c61622d62616467652e737667)](https://colab.research.google.com/github/pandas-profiling/pandas-profiling/blob/master/examples/meteorites/meteorites.ipynb) [![Binder](https://camo.githubusercontent.com/483bae47a175c24dfbfc57390edd8b6982ac5fb3/68747470733a2f2f6d7962696e6465722e6f72672f62616467655f6c6f676f2e737667)](https://mybinder.org/v2/gh/pandas-profiling/pandas-profiling/master?filepath=examples%2Fmeteorites%2Fmeteorites.ipynb)
* [Titanic](http://pandas-profiling.github.io/pandas-profiling/examples/titanic/titanic_report.html) (the "Wonderwall" of datasets) [![Open In Colab](https://camo.githubusercontent.com/52feade06f2fecbf006889a904d221e6a730c194/68747470733a2f2f636f6c61622e72657365617263682e676f6f676c652e636f6d2f6173736574732f636f6c61622d62616467652e737667)](https://colab.research.google.com/github/pandas-profiling/pandas-profiling/blob/master/examples/titanic/titanic.ipynb) [![Binder](https://camo.githubusercontent.com/483bae47a175c24dfbfc57390edd8b6982ac5fb3/68747470733a2f2f6d7962696e6465722e6f72672f62616467655f6c6f676f2e737667)](https://mybinder.org/v2/gh/pandas-profiling/pandas-profiling/master?filepath=examples%2Ftitanic%2Ftitanic.ipynb)
* [NZA](http://pandas-profiling.github.io/pandas-profiling/examples/nza/nza_report.html) (open data from the Dutch Healthcare Authority)
* [Stata Auto](http://pandas-profiling.github.io/pandas-profiling/examples/stata_auto/stata_auto_report.html) (1978 Automobile data)
* [Vektis](http://pandas-profiling.github.io/pandas-profiling/examples/vektis/vektis_report.html) (Vektis Dutch Healthcare data)
* [Website Inaccessibility](http://pandas-profiling.github.io/pandas-profiling/examples/website_inaccessibility/website_inaccessibility_report.html) (demonstrates the URL type)
* [Colors](http://pandas-profiling.github.io/pandas-profiling/examples/colors/colors_report.html) (a simple colors dataset)
* [Russian Vocabulary](http://pandas-profiling.github.io/pandas-profiling/examples/russian_vocabulary/russian_vocabulary.html) (demonstrates text analysis)
* [Orange prices](http://pandas-profiling.github.io/pandas-profiling/examples/themes/united_report.html) and [Coal prices](http://pandas-profiling.github.io/pandas-profiling/examples/themes/flatly_report.html) (showcase report themes)
* [Tutorial: report structure using Kaggle data](http://pandas-profiling.github.io/pandas-profiling/examples/kaggle/modify_report_structure.ipynb) (modify the report's structure for advanced usage) [![Open In Colab](https://camo.githubusercontent.com/52feade06f2fecbf006889a904d221e6a730c194/68747470733a2f2f636f6c61622e72657365617263682e676f6f676c652e636f6d2f6173736574732f636f6c61622d62616467652e737667)](https://colab.research.google.com/github/pandas-profiling/pandas-profiling/blob/master/examples/kaggle/modify_report_structure.ipynb) [![Binder](https://camo.githubusercontent.com/483bae47a175c24dfbfc57390edd8b6982ac5fb3/68747470733a2f2f6d7962696e6465722e6f72672f62616467655f6c6f676f2e737667)](https://mybinder.org/v2/gh/pandas-profiling/pandas-profiling/master?filepath=examples%2Fkaggle%2Fmodify_report_structure.ipynb)


## Installation

Expand Down Expand Up @@ -126,7 +129,7 @@ There are two interfaces (see animations below): through widgets and through a H

This is achieved by simply displaying the report. In the Jupyter Notebook, run:
```python
profile
profile.to_widgets()
```

The HTML report can be included in a Juyter notebook:
Expand Down
38 changes: 33 additions & 5 deletions docs/config.html
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,12 @@ <h1 class="title">Module <code>pandas_profiling.config</code></h1>
&#34;&#34;&#34;The config constructor should be called only once.&#34;&#34;&#34;
if self.config is None:
self.config = confuse.Configuration(&#34;PandasProfiling&#34;, __name__)
self.config.set_file(str(get_config_default()))

self.set_file(str(get_config_default()))

def set_file(self, file_name):
if self.config is not None:
self.config.set_file(file_name)

def set_args(self, namespace: argparse.Namespace, dots: bool) -&gt; None:
&#34;&#34;&#34;
Expand All @@ -55,7 +60,8 @@ <h1 class="title">Module <code>pandas_profiling.config</code></h1>
namespace: Dictionary or Namespace to overlay this config with. Supports nested Dictionaries and Namespaces.
dots: If True, any properties on namespace that contain dots (.) will be broken down into child dictionaries.
&#34;&#34;&#34;
self.config.set_args(namespace, dots)
if self.config is not None:
self.config.set_args(namespace, dots)

def _set_kwargs(self, reference, values: dict):
&#34;&#34;&#34;Helper function to set config variables based on kwargs.&#34;&#34;&#34;
Expand Down Expand Up @@ -123,7 +129,12 @@ <h2 class="section-title" id="header-classes">Classes</h2>
&#34;&#34;&#34;The config constructor should be called only once.&#34;&#34;&#34;
if self.config is None:
self.config = confuse.Configuration(&#34;PandasProfiling&#34;, __name__)
self.config.set_file(str(get_config_default()))

self.set_file(str(get_config_default()))

def set_file(self, file_name):
if self.config is not None:
self.config.set_file(file_name)

def set_args(self, namespace: argparse.Namespace, dots: bool) -&gt; None:
&#34;&#34;&#34;
Expand All @@ -133,7 +144,8 @@ <h2 class="section-title" id="header-classes">Classes</h2>
namespace: Dictionary or Namespace to overlay this config with. Supports nested Dictionaries and Namespaces.
dots: If True, any properties on namespace that contain dots (.) will be broken down into child dictionaries.
&#34;&#34;&#34;
self.config.set_args(namespace, dots)
if self.config is not None:
self.config.set_args(namespace, dots)

def _set_kwargs(self, reference, values: dict):
&#34;&#34;&#34;Helper function to set config variables based on kwargs.&#34;&#34;&#34;
Expand Down Expand Up @@ -211,7 +223,22 @@ <h2 id="args">Args</h2>
namespace: Dictionary or Namespace to overlay this config with. Supports nested Dictionaries and Namespaces.
dots: If True, any properties on namespace that contain dots (.) will be broken down into child dictionaries.
&#34;&#34;&#34;
self.config.set_args(namespace, dots)</code></pre>
if self.config is not None:
self.config.set_args(namespace, dots)</code></pre>
</details>
</dd>
<dt id="pandas_profiling.config.Config.set_file"><code class="name flex">
<span>def <span class="ident">set_file</span></span>(<span>self, file_name)</span>
</code></dt>
<dd>
<section class="desc"></section>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">def set_file(self, file_name):
if self.config is not None:
self.config.set_file(file_name)</code></pre>
</details>
</dd>
<dt id="pandas_profiling.config.Config.set_kwargs"><code class="name flex">
Expand Down Expand Up @@ -263,6 +290,7 @@ <h4><code><a title="pandas_profiling.config.Config" href="#pandas_profiling.conf
<li><code><a title="pandas_profiling.config.Config.config" href="#pandas_profiling.config.Config.config">config</a></code></li>
<li><code><a title="pandas_profiling.config.Config.dump" href="#pandas_profiling.config.Config.dump">dump</a></code></li>
<li><code><a title="pandas_profiling.config.Config.set_args" href="#pandas_profiling.config.Config.set_args">set_args</a></code></li>
<li><code><a title="pandas_profiling.config.Config.set_file" href="#pandas_profiling.config.Config.set_file">set_file</a></code></li>
<li><code><a title="pandas_profiling.config.Config.set_kwargs" href="#pandas_profiling.config.Config.set_kwargs">set_kwargs</a></code></li>
</ul>
</li>
Expand Down
Loading

0 comments on commit 18feb0c

Please sign in to comment.