pytae 2.3.2__tar.gz → 2.3.4__tar.gz

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.
Files changed (41) hide show
  1. {pytae-2.3.2 → pytae-2.3.4}/.ipynb_checkpoints/README-checkpoint.md +3 -0
  2. {pytae-2.3.2 → pytae-2.3.4}/.ipynb_checkpoints/pyproject-checkpoint.toml +1 -1
  3. {pytae-2.3.2 → pytae-2.3.4}/PKG-INFO +4 -1
  4. {pytae-2.3.2 → pytae-2.3.4}/README.md +3 -0
  5. {pytae-2.3.2 → pytae-2.3.4}/pyproject.toml +1 -1
  6. pytae-2.3.4/src/.ipynb_checkpoints/other_utilities-checkpoint.ipynb +152 -0
  7. {pytae-2.3.2 → pytae-2.3.4}/src/.ipynb_checkpoints/plot_x-checkpoint.ipynb +49 -2
  8. {pytae-2.3.2 → pytae-2.3.4}/src/other_utilities.ipynb +55 -1
  9. {pytae-2.3.2 → pytae-2.3.4}/src/plot_x.ipynb +53 -6
  10. {pytae-2.3.2 → pytae-2.3.4}/src/pytae/.ipynb_checkpoints/other_utilities-checkpoint.py +27 -29
  11. pytae-2.3.4/src/pytae/.ipynb_checkpoints/plot_x-checkpoint.py +88 -0
  12. {pytae-2.3.2 → pytae-2.3.4}/src/pytae/other_utilities.py +27 -29
  13. pytae-2.3.4/src/pytae/plot_x.py +88 -0
  14. pytae-2.3.2/src/.ipynb_checkpoints/other_utilities-checkpoint.ipynb +0 -814
  15. pytae-2.3.2/src/pytae/.ipynb_checkpoints/plot_x-checkpoint.py +0 -72
  16. pytae-2.3.2/src/pytae/plot_x.py +0 -72
  17. {pytae-2.3.2 → pytae-2.3.4}/.github/workflows/.ipynb_checkpoints/publish-to-test-pypi-checkpoint.yml +0 -0
  18. {pytae-2.3.2 → pytae-2.3.4}/.github/workflows/publish-to-test-pypi.yml +0 -0
  19. {pytae-2.3.2 → pytae-2.3.4}/.gitignore +0 -0
  20. {pytae-2.3.2 → pytae-2.3.4}/.ipynb_checkpoints/LICENSE-checkpoint +0 -0
  21. {pytae-2.3.2 → pytae-2.3.4}/.ipynb_checkpoints/requirements-checkpoint.txt +0 -0
  22. {pytae-2.3.2 → pytae-2.3.4}/LICENSE +0 -0
  23. {pytae-2.3.2 → pytae-2.3.4}/requirements.txt +0 -0
  24. {pytae-2.3.2 → pytae-2.3.4}/src/.ipynb_checkpoints/agg_df-checkpoint.ipynb +0 -0
  25. {pytae-2.3.2 → pytae-2.3.4}/src/.ipynb_checkpoints/get_data-checkpoint.ipynb +0 -0
  26. {pytae-2.3.2 → pytae-2.3.4}/src/.ipynb_checkpoints/shape-checkpoint.ipynb +0 -0
  27. {pytae-2.3.2 → pytae-2.3.4}/src/agg_df.ipynb +0 -0
  28. {pytae-2.3.2 → pytae-2.3.4}/src/get_data.ipynb +0 -0
  29. {pytae-2.3.2 → pytae-2.3.4}/src/pytae/.ipynb_checkpoints/__init__-checkpoint.py +0 -0
  30. {pytae-2.3.2 → pytae-2.3.4}/src/pytae/.ipynb_checkpoints/agg_df-checkpoint.py +0 -0
  31. {pytae-2.3.2 → pytae-2.3.4}/src/pytae/.ipynb_checkpoints/get_data-checkpoint.py +0 -0
  32. {pytae-2.3.2 → pytae-2.3.4}/src/pytae/.ipynb_checkpoints/shape-checkpoint.py +0 -0
  33. {pytae-2.3.2 → pytae-2.3.4}/src/pytae/__init__.py +0 -0
  34. {pytae-2.3.2 → pytae-2.3.4}/src/pytae/agg_df.py +0 -0
  35. {pytae-2.3.2 → pytae-2.3.4}/src/pytae/get_data.py +0 -0
  36. {pytae-2.3.2 → pytae-2.3.4}/src/pytae/shape.py +0 -0
  37. {pytae-2.3.2 → pytae-2.3.4}/src/shape.ipynb +0 -0
  38. {pytae-2.3.2 → pytae-2.3.4}/tests/.ipynb_checkpoints/test_agg_df-checkpoint.py +0 -0
  39. {pytae-2.3.2 → pytae-2.3.4}/tests/.ipynb_checkpoints/test_shape-checkpoint.py +0 -0
  40. {pytae-2.3.2 → pytae-2.3.4}/tests/test_agg_df.py +0 -0
  41. {pytae-2.3.2 → pytae-2.3.4}/tests/test_shape.py +0 -0
@@ -16,5 +16,8 @@ https://github.com/maddytae/pytae/blob/master/src/get_data.ipynb
16
16
  ### 4) some addditional utilities
17
17
  https://github.com/maddytae/pytae/blob/master/src/other_utilities.ipynb
18
18
 
19
+ ### 5) plotting utilities
20
+ https://github.com/maddytae/pytae/blob/master/src/plot_x.ipynb
21
+
19
22
  #### To Do: Documentation and automated Testing features
20
23
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "pytae"
7
- version = "2.3.2"
7
+ version = "2.3.4"
8
8
  description = "A package to enhance common day to day tasks in the life of a data scientist"
9
9
  authors = [{ name = "Madhukar Kumar Jha", email = "madhukar.k.jha@gmail.com" }]
10
10
  readme = "README.md"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pytae
3
- Version: 2.3.2
3
+ Version: 2.3.4
4
4
  Dynamic: Requires-Dist
5
5
  Summary: A package to enhance common day to day tasks in the life of a data scientist
6
6
  Project-URL: Homepage, https://github.com/maddytae/pytae
@@ -31,5 +31,8 @@ https://github.com/maddytae/pytae/blob/master/src/get_data.ipynb
31
31
  ### 4) some addditional utilities
32
32
  https://github.com/maddytae/pytae/blob/master/src/other_utilities.ipynb
33
33
 
34
+ ### 5) plotting utilities
35
+ https://github.com/maddytae/pytae/blob/master/src/plot_x.ipynb
36
+
34
37
  #### To Do: Documentation and automated Testing features
35
38
 
@@ -16,5 +16,8 @@ https://github.com/maddytae/pytae/blob/master/src/get_data.ipynb
16
16
  ### 4) some addditional utilities
17
17
  https://github.com/maddytae/pytae/blob/master/src/other_utilities.ipynb
18
18
 
19
+ ### 5) plotting utilities
20
+ https://github.com/maddytae/pytae/blob/master/src/plot_x.ipynb
21
+
19
22
  #### To Do: Documentation and automated Testing features
20
23
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "pytae"
7
- version = "2.3.2"
7
+ version = "2.3.4"
8
8
  description = "A package to enhance common day to day tasks in the life of a data scientist"
9
9
  authors = [{ name = "Madhukar Kumar Jha", email = "madhukar.k.jha@gmail.com" }]
10
10
  readme = "README.md"
@@ -0,0 +1,152 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "id": "af0e75c1-7748-44e7-974e-34112d92d813",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "import numpy as np\n",
11
+ "import pandas as pd\n",
12
+ "import pytae as pt\n",
13
+ "import seaborn as sns\n",
14
+ "penguins = sns.load_dataset('penguins')"
15
+ ]
16
+ },
17
+ {
18
+ "cell_type": "code",
19
+ "execution_count": null,
20
+ "id": "e42e01b5-4b00-4f95-acec-274deda67a3c",
21
+ "metadata": {},
22
+ "outputs": [],
23
+ "source": [
24
+ "# get a list of columns\n",
25
+ "penguins.cols()"
26
+ ]
27
+ },
28
+ {
29
+ "cell_type": "code",
30
+ "execution_count": null,
31
+ "id": "e7136bed-d2e1-48c5-a337-8e31fc020a98",
32
+ "metadata": {},
33
+ "outputs": [],
34
+ "source": [
35
+ "#add a group count\n",
36
+ "df = (\n",
37
+ " penguins\n",
38
+ " .group_x()\n",
39
+ ")\n",
40
+ "df.head()"
41
+ ]
42
+ },
43
+ {
44
+ "cell_type": "code",
45
+ "execution_count": null,
46
+ "id": "87e3dd20-d5e1-4219-8aee-e842a3d52194",
47
+ "metadata": {},
48
+ "outputs": [],
49
+ "source": [
50
+ "# handle missing i.e. str missing or NaN is changed to . and numeric NaN to 0\n",
51
+ "\n",
52
+ "df = (\n",
53
+ " penguins\n",
54
+ " .handle_missing(fillna='$')\n",
55
+ ")\n",
56
+ "df.head()\n"
57
+ ]
58
+ },
59
+ {
60
+ "cell_type": "code",
61
+ "execution_count": null,
62
+ "id": "b17a9574-35ff-4fe2-b40f-054a0b5e5003",
63
+ "metadata": {},
64
+ "outputs": [],
65
+ "source": [
66
+ "df.clip()"
67
+ ]
68
+ },
69
+ {
70
+ "cell_type": "code",
71
+ "execution_count": null,
72
+ "id": "b39ba218-6361-47eb-91b2-c6f35b7a130e",
73
+ "metadata": {},
74
+ "outputs": [],
75
+ "source": [
76
+ "penguins\n"
77
+ ]
78
+ },
79
+ {
80
+ "cell_type": "code",
81
+ "execution_count": null,
82
+ "id": "cf3bf0ae-b4ea-45ad-a358-c3eb5042e039",
83
+ "metadata": {},
84
+ "outputs": [],
85
+ "source": [
86
+ "penguins.select('spe|sex|^n|^bi')"
87
+ ]
88
+ },
89
+ {
90
+ "cell_type": "code",
91
+ "execution_count": null,
92
+ "id": "3a74dbdf-4afa-4b9c-af1e-22cd016bc39a",
93
+ "metadata": {},
94
+ "outputs": [],
95
+ "source": [
96
+ "penguins.select(['species','n'])"
97
+ ]
98
+ },
99
+ {
100
+ "cell_type": "code",
101
+ "execution_count": null,
102
+ "id": "f29560f9-bb6e-4b0f-a143-8c75be726609",
103
+ "metadata": {},
104
+ "outputs": [],
105
+ "source": [
106
+ "df = pd.DataFrame(np.arange(12).reshape(3, 4),\n",
107
+ " columns=['A', 'B_X', 'B', 'C'])\n",
108
+ "\n",
109
+ "print('original df')\n",
110
+ "print(df)\n",
111
+ "\n",
112
+ "print('\\nselect using a list')\n",
113
+ "print(df.select(['A','B_X']))\n",
114
+ "\n",
115
+ "print('\\nselect using a regex')\n",
116
+ "print(df.select('^B|C'))\n",
117
+ "\n",
118
+ "print('\\nselect using a tuple of list and regex')\n",
119
+ "print(df.select((['A','B_X'],'^B|C')))"
120
+ ]
121
+ },
122
+ {
123
+ "cell_type": "code",
124
+ "execution_count": null,
125
+ "id": "efde3bab-b430-4785-bfff-6ff1f515e6a6",
126
+ "metadata": {},
127
+ "outputs": [],
128
+ "source": []
129
+ }
130
+ ],
131
+ "metadata": {
132
+ "kernelspec": {
133
+ "display_name": "py_env",
134
+ "language": "python",
135
+ "name": "py_env"
136
+ },
137
+ "language_info": {
138
+ "codemirror_mode": {
139
+ "name": "ipython",
140
+ "version": 3
141
+ },
142
+ "file_extension": ".py",
143
+ "mimetype": "text/x-python",
144
+ "name": "python",
145
+ "nbconvert_exporter": "python",
146
+ "pygments_lexer": "ipython3",
147
+ "version": "3.9.6"
148
+ }
149
+ },
150
+ "nbformat": 4,
151
+ "nbformat_minor": 5
152
+ }
@@ -89,7 +89,7 @@
89
89
  },
90
90
  {
91
91
  "cell_type": "code",
92
- "execution_count": 9,
92
+ "execution_count": 4,
93
93
  "id": "11d6896c-a3c6-41af-b4be-314fd7a95e57",
94
94
  "metadata": {},
95
95
  "outputs": [
@@ -141,9 +141,56 @@
141
141
  },
142
142
  {
143
143
  "cell_type": "code",
144
- "execution_count": null,
144
+ "execution_count": 6,
145
145
  "id": "4c45df2e-49f3-4540-a1bf-caf19a3a6d45",
146
146
  "metadata": {},
147
+ "outputs": [
148
+ {
149
+ "data": {
150
+ "image/png": "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hzR3rjRnjjF17jrxkh6Q1LFKFX27cSNbyAFZ7YsvpH790h4rUkRat84YvQKAGyUnS9u2pR1lv599o0uWlIKDb17QixUzVmkHgExGiafE43opKcaiWVeL+232knxb0ldeXtrz338qWqxYlkUE8D82m/T889K4cWmP16gh/fEHM2NMsHPnTp08eVKPPPKI2VEAw+nT10bZV6823uS78VKcjMqVSwoNNRaurVPH+HX+/JmbFwAygItsgMREadkyo7jPmycdP37Hhxz29tZXNpv69OtHgQfMYrFIo0YZo2grVlw7/vffxsKT06axVVIWGzhwoFavXq1t27bJz8/P7DhwN1arMYPu6gj76tXSv//e+/OVKWOU9aulvWJFZt0BcAiMxDMS754uXDBWkZ87V1q4UIqLy9jj8uWTWrRQxLlzWrJmjfbu3avcuXPbNSqAOzh1yhgR+++/tMfffVf68ENzMrmpQ4cOqVKlSnr66af1ww8/mB0Hru7sWWnNmmuFfe1aY3/2e5Ejh7HzxdXCXru2VLBg5uYFgExCiafEu4+TJ43FsObMkX77TUpIyNjjihY1FtBq1Up65BEpWzb98ssvOn/+vNq1a2fPxAAyaudO4wfvG9+Qi4qSnn3WnExuasyYMerWrZsWL16sJk2amB0HriIlRdq1K+0o+86d9/58pUqlHWWvXJlV4AE4DUo8Jd617d9/7fr2lSuNHwIy4sEHja2qWrUyrq/938qxV/+5WFhJFnA8v/4qNWtmTKm9ysND+uYbqWdP83K5GZvNpiZNmujQoUPavn27PLikAfciLs4YWb9+lP3cuXt7ruzZje/l14+yBwRkalwAyEqUeCcu8f/++68KFy7MdO7r2WzS1q1GaZ8zx9hPOqNCQ68V93Ll0p3eu3evhg0bpu3bt2v27NlO/XcHcFkjRty8sL/xhrGaPdezZokjR44oOTlZwcHBZkeBM7DZpN270y5At3172i0k70aJEtcKe506UtWqUrZsmZsZAEzEvCEn9sILL+jvv/9W69at1blzZ4WFhcnLHaeCWa3GN/w5c4xR9xuvi70VLy/psceM4t6y5U23pEpKStKECRM0fvx4rVy5Urlz51b37t154wRwVD16GLtKfPNN2uNffy0dOCBNmsSq9VmgaNGikqTz58/rv//+U9WqVU1OBIcTF2d8354925gpd+bMvT2P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",
151
+ "text/plain": [
152
+ "<Figure size 1200x600 with 1 Axes>"
153
+ ]
154
+ },
155
+ "execution_count": 6,
156
+ "metadata": {},
157
+ "output_type": "execute_result"
158
+ }
159
+ ],
160
+ "source": [
161
+ "import pandas as pd\n",
162
+ "import matplotlib.pyplot as plt\n",
163
+ "from matplotlib.axes import Axes\n",
164
+ "import seaborn as sns\n",
165
+ "\n",
166
+ "# Assuming your plot_x function and customize_spines method are already defined\n",
167
+ "\n",
168
+ "# Load the fmri dataset\n",
169
+ "fmri = sns.load_dataset('fmri')\n",
170
+ "fmri\n",
171
+ "\n",
172
+ "# Plot the data using the plot_x function\n",
173
+ "fig, ax = plt.subplots(figsize=(12, 6))\n",
174
+ "plt.close()\n",
175
+ "\n",
176
+ "color={'cue':'red','stim':'black'}\n",
177
+ "style={'cue':'-','stim':'--'}\n",
178
+ "width={'cue':3,'stim':1}\n",
179
+ "\n",
180
+ "\n",
181
+ "fmri.plot_x(ax=ax, x='timepoint', y='signal', by='event', kind='line',aggfunc='mean',\n",
182
+ " style=style,color=color,width=width)\n",
183
+ "\n",
184
+ "\n",
185
+ "# Show the plot\n",
186
+ "fig"
187
+ ]
188
+ },
189
+ {
190
+ "cell_type": "code",
191
+ "execution_count": null,
192
+ "id": "aee4fc5e-4071-44e6-a74a-5d2cdfe4d6c0",
193
+ "metadata": {},
147
194
  "outputs": [],
148
195
  "source": []
149
196
  }
@@ -7,6 +7,7 @@
7
7
  "metadata": {},
8
8
  "outputs": [],
9
9
  "source": [
10
+ "import numpy as np\n",
10
11
  "import pandas as pd\n",
11
12
  "import pytae as pt\n",
12
13
  "import seaborn as sns\n",
@@ -783,9 +784,62 @@
783
784
  },
784
785
  {
785
786
  "cell_type": "code",
786
- "execution_count": null,
787
+ "execution_count": 9,
787
788
  "id": "f29560f9-bb6e-4b0f-a143-8c75be726609",
788
789
  "metadata": {},
790
+ "outputs": [
791
+ {
792
+ "name": "stdout",
793
+ "output_type": "stream",
794
+ "text": [
795
+ "original df\n",
796
+ " A B_X B C\n",
797
+ "0 0 1 2 3\n",
798
+ "1 4 5 6 7\n",
799
+ "2 8 9 10 11\n",
800
+ "\n",
801
+ "select using a list\n",
802
+ " A B_X\n",
803
+ "0 0 1\n",
804
+ "1 4 5\n",
805
+ "2 8 9\n",
806
+ "\n",
807
+ "select using a regex\n",
808
+ " B_X B C\n",
809
+ "0 1 2 3\n",
810
+ "1 5 6 7\n",
811
+ "2 9 10 11\n",
812
+ "\n",
813
+ "select using a tuple of list and regex\n",
814
+ " B C A B_X\n",
815
+ "0 2 3 0 1\n",
816
+ "1 6 7 4 5\n",
817
+ "2 10 11 8 9\n"
818
+ ]
819
+ }
820
+ ],
821
+ "source": [
822
+ "df = pd.DataFrame(np.arange(12).reshape(3, 4),\n",
823
+ " columns=['A', 'B_X', 'B', 'C'])\n",
824
+ "\n",
825
+ "print('original df')\n",
826
+ "print(df)\n",
827
+ "\n",
828
+ "print('\\nselect using a list')\n",
829
+ "print(df.select(['A','B_X']))\n",
830
+ "\n",
831
+ "print('\\nselect using a regex')\n",
832
+ "print(df.select('^B|C'))\n",
833
+ "\n",
834
+ "print('\\nselect using a tuple of list and regex')\n",
835
+ "print(df.select((['A','B_X'],'^B|C')))"
836
+ ]
837
+ },
838
+ {
839
+ "cell_type": "code",
840
+ "execution_count": null,
841
+ "id": "efde3bab-b430-4785-bfff-6ff1f515e6a6",
842
+ "metadata": {},
789
843
  "outputs": [],
790
844
  "source": []
791
845
  }