upgini 1.1.286a3418.post2__tar.gz → 1.1.287a3232.post1__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.

Potentially problematic release.


This version of upgini might be problematic. Click here for more details.

Files changed (64) hide show
  1. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/PKG-INFO +1 -1
  2. upgini-1.1.287a3232.post1/src/upgini/__about__.py +1 -0
  3. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/autofe/date.py +18 -7
  4. upgini-1.1.286a3418.post2/src/upgini/__about__.py +0 -1
  5. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/.gitignore +0 -0
  6. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/LICENSE +0 -0
  7. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/README.md +0 -0
  8. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/pyproject.toml +0 -0
  9. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/__init__.py +0 -0
  10. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/ads.py +0 -0
  11. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/ads_management/__init__.py +0 -0
  12. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/ads_management/ads_manager.py +0 -0
  13. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/autofe/__init__.py +0 -0
  14. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/autofe/all_operands.py +0 -0
  15. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/autofe/binary.py +0 -0
  16. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/autofe/feature.py +0 -0
  17. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/autofe/groupby.py +0 -0
  18. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/autofe/operand.py +0 -0
  19. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/autofe/unary.py +0 -0
  20. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/autofe/vector.py +0 -0
  21. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/data_source/__init__.py +0 -0
  22. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/data_source/data_source_publisher.py +0 -0
  23. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/dataset.py +0 -0
  24. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/errors.py +0 -0
  25. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/features_enricher.py +0 -0
  26. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/http.py +0 -0
  27. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/mdc/__init__.py +0 -0
  28. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/mdc/context.py +0 -0
  29. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/metadata.py +0 -0
  30. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/metrics.py +0 -0
  31. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/normalizer/__init__.py +0 -0
  32. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/normalizer/phone_normalizer.py +0 -0
  33. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/resource_bundle/__init__.py +0 -0
  34. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/resource_bundle/exceptions.py +0 -0
  35. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/resource_bundle/strings.properties +0 -0
  36. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/resource_bundle/strings_widget.properties +0 -0
  37. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/sampler/__init__.py +0 -0
  38. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/sampler/base.py +0 -0
  39. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/sampler/random_under_sampler.py +0 -0
  40. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/sampler/utils.py +0 -0
  41. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/search_task.py +0 -0
  42. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/spinner.py +0 -0
  43. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/__init__.py +0 -0
  44. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/base_search_key_detector.py +0 -0
  45. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/blocked_time_series.py +0 -0
  46. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/country_utils.py +0 -0
  47. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/custom_loss_utils.py +0 -0
  48. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/cv_utils.py +0 -0
  49. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/datetime_utils.py +0 -0
  50. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/deduplicate_utils.py +0 -0
  51. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/display_utils.py +0 -0
  52. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/email_utils.py +0 -0
  53. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/fallback_progress_bar.py +0 -0
  54. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/features_validator.py +0 -0
  55. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/format.py +0 -0
  56. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/ip_utils.py +0 -0
  57. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/phone_utils.py +0 -0
  58. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/postal_code_utils.py +0 -0
  59. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/progress_bar.py +0 -0
  60. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/sklearn_ext.py +0 -0
  61. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/target_utils.py +0 -0
  62. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/track_info.py +0 -0
  63. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/utils/warning_counter.py +0 -0
  64. {upgini-1.1.286a3418.post2 → upgini-1.1.287a3232.post1}/src/upgini/version_validator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: upgini
3
- Version: 1.1.286a3418.post2
3
+ Version: 1.1.287a3232.post1
4
4
  Summary: Intelligent data search & enrichment for Machine Learning
5
5
  Project-URL: Bug Reports, https://github.com/upgini/upgini/issues
6
6
  Project-URL: Homepage, https://upgini.com/
@@ -0,0 +1 @@
1
+ __version__ = "1.1.287a3232-1"
@@ -2,6 +2,7 @@ from typing import Any, Dict, List, Optional, Union
2
2
 
3
3
  import numpy as np
4
4
  import pandas as pd
5
+ import datetime
5
6
  from pandas.core.arrays.timedeltas import TimedeltaArray
6
7
  from pydantic import BaseModel, validator
7
8
 
@@ -21,6 +22,20 @@ class DateDiffMixin(BaseModel):
21
22
 
22
23
  return pd.to_datetime(x, unit=unit)
23
24
 
25
+ def _convert_diff_to_unit(self, diff: Union[pd.Series, TimedeltaArray]) -> Union[pd.Series, TimedeltaArray]:
26
+ if self.diff_unit == "M":
27
+ raise Exception("Unsupported difference unit: Month")
28
+ elif self.diff_unit == "D":
29
+ if isinstance(diff, pd.Series) and diff.dtype == "object":
30
+ return diff.apply(lambda x: None if isinstance(x, float) and np.isnan(x) else x.days)
31
+ else:
32
+ return diff / np.timedelta64(1, self.diff_unit)
33
+ elif self.diff_unit == "Y":
34
+ if isinstance(diff, TimedeltaArray):
35
+ return (diff / 365 / 24 / 60 / 60 / 10**9).astype(int)
36
+ else:
37
+ return (diff / 365 / 24 / 60 / 60 / 10**9).dt.nanoseconds
38
+
24
39
 
25
40
  class DateDiff(PandasOperand, DateDiffMixin):
26
41
  name = "date_diff"
@@ -41,7 +56,8 @@ class DateDiff(PandasOperand, DateDiffMixin):
41
56
  def calculate_binary(self, left: pd.Series, right: pd.Series) -> pd.Series:
42
57
  left = self._convert_to_date(left, self.left_unit)
43
58
  right = self._convert_to_date(right, self.right_unit)
44
- return self.__replace_negative((left - right) / np.timedelta64(1, self.diff_unit))
59
+ diff = self._convert_diff_to_unit(left.dt.date - right.dt.date)
60
+ return self.__replace_negative(diff)
45
61
 
46
62
  def __replace_negative(self, x: Union[pd.DataFrame, pd.Series]):
47
63
  x[x < 0] = None
@@ -107,12 +123,7 @@ class DateListDiff(PandasOperand, DateDiffMixin):
107
123
  return pd.Series(left - right.values).apply(lambda x: self._agg(self._diff(x)))
108
124
 
109
125
  def _diff(self, x: TimedeltaArray):
110
- if self.diff_unit == "Y":
111
- x = (x / 365 / 24 / 60 / 60 / 10**9).astype(int)
112
- elif self.diff_unit == "M":
113
- raise Exception("Unsupported difference unit: Month")
114
- else:
115
- x = x / np.timedelta64(1, self.diff_unit)
126
+ x = self._convert_diff_to_unit(x)
116
127
  return x[x > 0]
117
128
 
118
129
  def _agg(self, x):
@@ -1 +0,0 @@
1
- __version__ = "1.1.286a3418-2"