pandas-plots 0.13.0__py3-none-any.whl → 0.14.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
File without changes
@@ -1,38 +1,35 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pandas-plots
3
- Version: 0.13.0
3
+ Version: 0.14.1
4
4
  Summary: A collection of helper for table handling and visualization
5
- Home-page: https://github.com/smeisegeier/pandas-plots
6
- Author: smeisegeier
7
- Author-email: dexterDSDo@googlemail.com
8
- License: MIT
9
- Project-URL: Documentation, https://github.com/smeisegeier/pandas-plots
10
- Project-URL: Source Code, https://github.com/smeisegeier/pandas-plots
5
+ Project-URL: Homepage, https://github.com/smeisegeier/pandas-plots
6
+ Project-URL: Repository, https://github.com/smeisegeier/pandas-plots
11
7
  Project-URL: Bug Tracker, https://github.com/smeisegeier/pandas-plots/issues
12
- Classifier: License :: OSI Approved :: MIT License
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.10
8
+ Author-email: smeisegeier <meisegeiers@rki.de>
9
+ License-File: LICENSE
10
+ Keywords: pivot,plot,plotly,tables,venn,vizualization
15
11
  Classifier: Development Status :: 4 - Beta
16
12
  Classifier: Intended Audience :: Science/Research
13
+ Classifier: License :: OSI Approved :: MIT License
17
14
  Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
18
17
  Classifier: Topic :: Scientific/Engineering
19
18
  Requires-Python: >=3.10
20
- Description-Content-Type: text/markdown
21
- License-File: LICENSE
22
- Requires-Dist: pandas>=2.0.0
23
- Requires-Dist: plotly<6
24
- Requires-Dist: matplotlib>=3.8.2
19
+ Requires-Dist: dataframe-image>=0.2.6
20
+ Requires-Dist: duckdb>=1.3.0
21
+ Requires-Dist: jinja2>=3.1.4
22
+ Requires-Dist: kaleido>=1
25
23
  Requires-Dist: matplotlib-venn==0.11.10
26
- Requires-Dist: seaborn>=0.13.2
27
- Requires-Dist: Jinja2>=3.1.4
28
- Requires-Dist: requests>=2.32.0
29
- Requires-Dist: numpy<2.0.0
24
+ Requires-Dist: matplotlib>=3.8.2
30
25
  Requires-Dist: missingno>=0.5.2
31
- Requires-Dist: duckdb>=1.0.0
32
- Requires-Dist: kaleido>=0.2.0
33
26
  Requires-Dist: nbformat>=4.2.0
34
- Requires-Dist: dataframe_image>=0.2.6
35
- Dynamic: license-file
27
+ Requires-Dist: numpy<2.0.0
28
+ Requires-Dist: pandas>=2.0.0
29
+ Requires-Dist: plotly>=6.2
30
+ Requires-Dist: requests>=2.32.0
31
+ Requires-Dist: seaborn>=0.13.2
32
+ Description-Content-Type: text/markdown
36
33
 
37
34
  # pandas-plots
38
35
 
@@ -98,6 +95,7 @@ tbl.show_num_df(
98
95
  - `plot_joints()` a joint plot for **exactly two numerical** columns
99
96
  - `plot_quadrants()` quickly shows a 2x2 heatmap
100
97
  - `plot_facet_stacked_bars()` shows stacked bars for a facet value as subplots
98
+ - `plot_sankey()` generates a Sankey diagram
101
99
  <br>
102
100
 
103
101
  - `ven` offers functions for _venn diagrams_
@@ -175,4 +173,4 @@ _df, _details = ven.show_venn3(
175
173
 
176
174
  ## tags
177
175
 
178
- #pandas, #plotly, #visualizations, #statistics
176
+ #pandas, #plotly, #visualizations, #statistics
@@ -0,0 +1,9 @@
1
+ pandas_plots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ pandas_plots/hlp.py,sha256=z8rrVNbH9qMohdXPT-FksP-VkTOjI0bGFj47Sw5p3aY,21141
3
+ pandas_plots/pls.py,sha256=80uXr3bT66LGjDcuT4a0ewCBwATcOUZ3QQ228Hn9glY,60052
4
+ pandas_plots/tbl.py,sha256=R2E6FLhxNpUtS88Zf88Eh9i8dSKgmJtmFimFvOt0foQ,32780
5
+ pandas_plots/ven.py,sha256=2x3ACo2vSfO3q6fv-UdDQ0h1SJyt8WChBGgE5SDCdCk,11673
6
+ pandas_plots-0.14.1.dist-info/METADATA,sha256=7wU-RjYxYQGfw8rshzpbuQ0ci7xJfe-xldiAAshAMjw,7420
7
+ pandas_plots-0.14.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
8
+ pandas_plots-0.14.1.dist-info/licenses/LICENSE,sha256=ltLbQWUCs-GBQlTPXbt5nHNBE9U5LzjjoS1Y8hHETM4,1051
9
+ pandas_plots-0.14.1.dist-info/RECORD,,
@@ -1,5 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: hatchling 1.27.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
-
@@ -1,10 +0,0 @@
1
- pandas_plots/hlp.py,sha256=z8rrVNbH9qMohdXPT-FksP-VkTOjI0bGFj47Sw5p3aY,21141
2
- pandas_plots/pls.py,sha256=80uXr3bT66LGjDcuT4a0ewCBwATcOUZ3QQ228Hn9glY,60052
3
- pandas_plots/tbl.py,sha256=R2E6FLhxNpUtS88Zf88Eh9i8dSKgmJtmFimFvOt0foQ,32780
4
- pandas_plots/ven.py,sha256=2x3ACo2vSfO3q6fv-UdDQ0h1SJyt8WChBGgE5SDCdCk,11673
5
- pandas_plots-0.13.0.dist-info/licenses/LICENSE,sha256=ltLbQWUCs-GBQlTPXbt5nHNBE9U5LzjjoS1Y8hHETM4,1051
6
- pandas_plots-0.13.0.dist-info/METADATA,sha256=G7Vx-tY6PgbcchOatYf8lr1vA62k-ik3Zx3dCSLhWqM,7430
7
- pandas_plots-0.13.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
8
- pandas_plots-0.13.0.dist-info/pii.py,sha256=2WKE-W9s285jPdsTqCgt1uxuW4lj1PYCVOYB2fYDNwQ,2195
9
- pandas_plots-0.13.0.dist-info/top_level.txt,sha256=XnaNuIHBqMmCeh_U7nKOYTwFue_SIA0wxuDgdPmnnSk,13
10
- pandas_plots-0.13.0.dist-info/RECORD,,
@@ -1,76 +0,0 @@
1
- import pandas as pd
2
- import re
3
-
4
-
5
- def remove_pii(
6
- series: pd.Series,
7
- verbose: bool = True,
8
- logging: bool = False,
9
- custom_regex="",
10
- ) -> pd.Index:
11
- """
12
- Remove personally identifiable information (PII) from the given column.
13
-
14
- Parameters:
15
- - series: A pandas Series representing a column in a DataFrame.
16
- - verbose: If True, print pii items
17
- - logging: If True, write pii items into the file .pii.log
18
- - custom_regex: Regex that is injected into detection
19
-
20
- Returns:
21
- - index object with indexes of all pii items
22
-
23
- Remarks:
24
- - df.drop(axis=0, index=result, inplace=True)
25
- """
26
-
27
- # * reject empty columns
28
- assert len(series) > 0
29
-
30
- col = series.copy()
31
-
32
- # * na must be dropped to ensure processsing
33
- col.dropna(inplace=True)
34
-
35
- # * find terms
36
- _terms = frozenset(["lösch", "herr", "frau", "strasse", "klinik"])
37
- idx_terms = col[
38
- col.str.contains(
39
- "|".join(_terms),
40
- case=False,
41
- regex=True,
42
- )
43
- ].index
44
-
45
- # # * optional: search for terms in whole df
46
- # df.apply(lambda row: row.astype(str).str.contains('test', case=False, regex=True).any(), axis=1)
47
-
48
- # # * find dates
49
- ptr_date = r"\d{2}\.\d{2}\.\d{4}"
50
- idx_date = col[col.str.contains(ptr_date, regex=True)].index
51
-
52
- # * dr
53
- ptr_dr = r"[D|d][R|r]\. | Fr\. | Hr\. | PD "
54
- idx_dr = col[col.str.contains(ptr_dr, regex=True)].index
55
-
56
- # * custom
57
- idx_custom = (
58
- col[col.str.contains(custom_regex, regex=True)].index
59
- if custom_regex
60
- else pd.Index([])
61
- )
62
-
63
- idx_all = idx_terms.union(idx_date).union(idx_dr).union(idx_custom)
64
-
65
- if verbose:
66
- # print(f"found: {idx_dr.__len__()} dr | {idx_date.__len__()} date | {idx_terms.__len__()} terms")
67
- print(f"found {idx_all.__len__():_} pii items:")
68
- print(col.loc[idx_all].tolist())
69
-
70
- if logging: # Assuming logging is defined and has the correct value
71
- data = col.loc[idx_all] # Assuming col and idx_all are defined
72
- with open(".pii.log", "w") as f:
73
- # ! when using str(), it will give only a summary!
74
- f.write(data.to_string(index=True))
75
-
76
- return idx_all
@@ -1 +0,0 @@
1
- pandas_plots