lecrapaud 0.9.0__py3-none-any.whl → 0.9.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.
- lecrapaud/db/models/experiment.py +2 -1
- lecrapaud/feature_engineering.py +26 -6
- {lecrapaud-0.9.0.dist-info → lecrapaud-0.9.1.dist-info}/METADATA +1 -1
- {lecrapaud-0.9.0.dist-info → lecrapaud-0.9.1.dist-info}/RECORD +6 -6
- {lecrapaud-0.9.0.dist-info → lecrapaud-0.9.1.dist-info}/LICENSE +0 -0
- {lecrapaud-0.9.0.dist-info → lecrapaud-0.9.1.dist-info}/WHEEL +0 -0
|
@@ -121,6 +121,7 @@ class Experiment(Base):
|
|
|
121
121
|
for fs in self.feature_selections
|
|
122
122
|
if fs.target_id in target_idx
|
|
123
123
|
)
|
|
124
|
+
_all_features = list(_all_features)
|
|
124
125
|
|
|
125
126
|
# fallback to path if no features found
|
|
126
127
|
if len(_all_features) == 0:
|
|
@@ -131,7 +132,7 @@ class Experiment(Base):
|
|
|
131
132
|
all_features.append(date_column)
|
|
132
133
|
if group_column:
|
|
133
134
|
all_features.append(group_column)
|
|
134
|
-
all_features +=
|
|
135
|
+
all_features += _all_features
|
|
135
136
|
all_features = list(dict.fromkeys(all_features))
|
|
136
137
|
|
|
137
138
|
return all_features
|
lecrapaud/feature_engineering.py
CHANGED
|
@@ -811,14 +811,34 @@ def traditional_descriptive_analysis(df: pd.DataFrame, group_column: str | None
|
|
|
811
811
|
# Shape
|
|
812
812
|
results["Shape"] = f"{df.shape[0]} rows × {df.shape[1]} columns"
|
|
813
813
|
|
|
814
|
+
# Create a copy of the DataFrame to avoid modifying the original
|
|
815
|
+
df_check = df.copy()
|
|
816
|
+
|
|
817
|
+
# Convert numpy arrays to tuples for hashing
|
|
818
|
+
for col in df_check.columns:
|
|
819
|
+
if df_check[col].apply(lambda x: isinstance(x, np.ndarray)).any():
|
|
820
|
+
df_check[col] = df_check[col].apply(
|
|
821
|
+
lambda x: tuple(x) if isinstance(x, np.ndarray) else x
|
|
822
|
+
)
|
|
823
|
+
|
|
814
824
|
# Duplicated rows
|
|
815
|
-
results["Duplicated rows"] = int(
|
|
825
|
+
results["Duplicated rows"] = int(df_check.duplicated().sum())
|
|
816
826
|
|
|
817
|
-
#
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
827
|
+
# Check for duplicated columns
|
|
828
|
+
try:
|
|
829
|
+
# Try to find duplicated columns
|
|
830
|
+
duplicated_cols = []
|
|
831
|
+
cols = df_check.columns
|
|
832
|
+
for i, col1 in enumerate(cols):
|
|
833
|
+
for col2 in cols[i+1:]:
|
|
834
|
+
if df_check[col1].equals(df_check[col2]):
|
|
835
|
+
duplicated_cols.append(f"{col1} = {col2}")
|
|
836
|
+
|
|
837
|
+
results["Duplicated columns"] = (
|
|
838
|
+
", ".join(duplicated_cols) if duplicated_cols else "None"
|
|
839
|
+
)
|
|
840
|
+
except Exception as e:
|
|
841
|
+
results["Duplicated columns"] = f"Could not check: {str(e)}"
|
|
822
842
|
|
|
823
843
|
# Missing values
|
|
824
844
|
missing = df.isnull().sum()
|
|
@@ -11,7 +11,7 @@ lecrapaud/db/alembic/versions/2025_06_24_1711-86457e2f333f_.py,sha256=dl6tfvcqEr
|
|
|
11
11
|
lecrapaud/db/alembic.ini,sha256=zgvur-5jnLsT66_98FaTOTNgjwObGZCE0HqMwRAeJrs,3587
|
|
12
12
|
lecrapaud/db/models/__init__.py,sha256=Lhyw9fVLdom0Fc6yIP-ip8FjkU1EwVwjae5q2VM815Q,740
|
|
13
13
|
lecrapaud/db/models/base.py,sha256=CYtof_UjFwX3C7XUifequh_UtLHJ25bU7LCwT501uGE,7508
|
|
14
|
-
lecrapaud/db/models/experiment.py,sha256=
|
|
14
|
+
lecrapaud/db/models/experiment.py,sha256=IeS-TWPT-4l9xCMIdR2S2O-foXNt3Ru6WmtPMWToK7c,4035
|
|
15
15
|
lecrapaud/db/models/feature.py,sha256=5o77O2FyRObnLOCGNj8kaPSGM3pLv1Ov6mXXHYkmnYY,1136
|
|
16
16
|
lecrapaud/db/models/feature_selection.py,sha256=nXy_Lg3uDxid71vYll_qzdo8ajYsJEXskI7vLQ3uyW0,3315
|
|
17
17
|
lecrapaud/db/models/feature_selection_rank.py,sha256=PvEpdv-JJt2wZMtX5TO0wyZ3IONlPkeDaC49i0VA-qU,2074
|
|
@@ -23,7 +23,7 @@ lecrapaud/db/models/target.py,sha256=DKnfeaLU8eT8J_oh_vuFo5-o1CaoXR13xBbswme6Bgk
|
|
|
23
23
|
lecrapaud/db/session.py,sha256=K9dTyXmO-aF_2r9RRHsDsbW9_zLNDaOcchXlpiv7cSo,2719
|
|
24
24
|
lecrapaud/directories.py,sha256=t4PrnJR48MpDfBOTYTyGlDVMUr39mcaj7uCPTaocBRw,725
|
|
25
25
|
lecrapaud/experiment.py,sha256=_kuRARuw1pXe13K3MHz22KOJSiRmvhPb7Q2Mkli32t8,2519
|
|
26
|
-
lecrapaud/feature_engineering.py,sha256=
|
|
26
|
+
lecrapaud/feature_engineering.py,sha256=MnBp0oVYuzL61yn3gCSxFpYRGMe3A0Cb8GAX66alODA,32006
|
|
27
27
|
lecrapaud/feature_selection.py,sha256=_Je2817Ah1v-6Rls4EiYC-fn3EbpBj6Uaq81KWBpQG4,43430
|
|
28
28
|
lecrapaud/integrations/openai_integration.py,sha256=hHLF3fk5Bps8KNbNrEL3NUFa945jwClE6LrLpuMZOd4,7459
|
|
29
29
|
lecrapaud/jobs/__init__.py,sha256=ZkrsyTOR21c_wN7RY8jPhm8jCrL1oCEtTsf3VFIlQiE,292
|
|
@@ -37,7 +37,7 @@ lecrapaud/speed_tests/test-gpu-resnet.ipynb,sha256=27Vu7nYwujYeh3fOxBNCnKJn3MXNP
|
|
|
37
37
|
lecrapaud/speed_tests/test-gpu-transformers.ipynb,sha256=k6MBSs_Um1h4PykvE-LTBcdpbWLbIFST_xl_AFW2jgI,8444
|
|
38
38
|
lecrapaud/speed_tests/tests.ipynb,sha256=RjI7LDHSsbadUkea_hT14sD7ivljtIQk4NB5McXJ1bE,3835
|
|
39
39
|
lecrapaud/utils.py,sha256=Dy2uhK9cslzoqRHiIE6MdkxjNJWjmKmzGr6i7EYM28A,8106
|
|
40
|
-
lecrapaud-0.9.
|
|
41
|
-
lecrapaud-0.9.
|
|
42
|
-
lecrapaud-0.9.
|
|
43
|
-
lecrapaud-0.9.
|
|
40
|
+
lecrapaud-0.9.1.dist-info/LICENSE,sha256=MImCryu0AnqhJE_uAZD-PIDKXDKb8sT7v0i1NOYeHTM,11350
|
|
41
|
+
lecrapaud-0.9.1.dist-info/METADATA,sha256=Rjz-7FASML-yASCCeKHf4eagzuP970B2f75ttC9E7aY,11623
|
|
42
|
+
lecrapaud-0.9.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
43
|
+
lecrapaud-0.9.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|