upgini 1.1.286a3418.post2__py3-none-any.whl → 1.1.287a3232.post1__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.

Potentially problematic release.


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

upgini/__about__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "1.1.286a3418-2"
1
+ __version__ = "1.1.287a3232-1"
upgini/autofe/date.py CHANGED
@@ -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,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/
@@ -1,4 +1,4 @@
1
- upgini/__about__.py,sha256=3eUbkznXZNOhtyNBoVKPb71FfnJumix_HWBprpOjOAM,31
1
+ upgini/__about__.py,sha256=AbRcDfYtBT7CZaikr7-ihUYbwsvTkE9kN2r6HAW5iGs,31
2
2
  upgini/__init__.py,sha256=asENHgEVHQBIkV-e_0IhE_ZWqkCG6398U3ZLrNzAH6k,407
3
3
  upgini/ads.py,sha256=nvuRxRx5MHDMgPr9SiU-fsqRdFaBv8p4_v1oqiysKpc,2714
4
4
  upgini/dataset.py,sha256=7TLVVhGtjgx_9yaiaIUK3kZSe_R9wg5dY0d4F5qCGM4,45636
@@ -15,7 +15,7 @@ upgini/ads_management/ads_manager.py,sha256=igVbN2jz80Umb2BUJixmJVj-zx8unoKpecVo
15
15
  upgini/autofe/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  upgini/autofe/all_operands.py,sha256=7UyvmmqGSqQu4kDgoFwQRKY__b9xKDk3Fpp2-H8A7AA,2399
17
17
  upgini/autofe/binary.py,sha256=441BRuqMsxlxuw4c8rMZB6h5EpRdVMk-bVa03U7T5Hg,3973
18
- upgini/autofe/date.py,sha256=w0C2n261Uzd9sEk3s7QdDrXLZBWv6Vv7EBuv0W1g-LU,6738
18
+ upgini/autofe/date.py,sha256=xy6D4dYvf5efVOzV8xn1H6fzYLIjjTY9MGwfnGcCAzs,7310
19
19
  upgini/autofe/feature.py,sha256=_V9B74B3ue7eAYXSOt9JKhVC9klkAKks22MwnBRye_w,12487
20
20
  upgini/autofe/groupby.py,sha256=4WjDzQxqpZxB79Ih4ihMMI5GDxaFqiH6ZelfV82ClT4,3091
21
21
  upgini/autofe/operand.py,sha256=JjEVT1U3kY9NDjUPMdoki7Oa8hMDG0-_h_NklVjIFyc,2882
@@ -56,7 +56,7 @@ upgini/utils/sklearn_ext.py,sha256=N-eJrfAJxYpDPc85sKQyMFcIeL9Ug2lwlqDyS4jFOdE,4
56
56
  upgini/utils/target_utils.py,sha256=Y96_PJ5cC-WsEbeqg20v9uqywDQobLoTb-xoP7S3o4E,7807
57
57
  upgini/utils/track_info.py,sha256=G5Lu1xxakg2_TQjKZk4b5SvrHsATTXNVV3NbvWtT8k8,5663
58
58
  upgini/utils/warning_counter.py,sha256=dIWBB4dI5XRRJZudvIlqlIYKEiwLLPcXarsZuYRt338,227
59
- upgini-1.1.286a3418.post2.dist-info/METADATA,sha256=dw33GcRPALyC3R0__D5CpsvqLD7froYvFKu7zHrwof4,48128
60
- upgini-1.1.286a3418.post2.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
61
- upgini-1.1.286a3418.post2.dist-info/licenses/LICENSE,sha256=5RRzgvdJUu3BUDfv4bzVU6FqKgwHlIay63pPCSmSgzw,1514
62
- upgini-1.1.286a3418.post2.dist-info/RECORD,,
59
+ upgini-1.1.287a3232.post1.dist-info/METADATA,sha256=WYI6YVa5RX0B1MNfStn_rU3M9QTg2Z5khzwNHxBzPp4,48128
60
+ upgini-1.1.287a3232.post1.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
61
+ upgini-1.1.287a3232.post1.dist-info/licenses/LICENSE,sha256=5RRzgvdJUu3BUDfv4bzVU6FqKgwHlIay63pPCSmSgzw,1514
62
+ upgini-1.1.287a3232.post1.dist-info/RECORD,,