@@ -705,7 +705,6 @@ class Timestamp(_Timestamp):
705
705
pandas_datetimestruct dts
706
706
int64_t value
707
707
object _tzinfo, result, k, v
708
- _TSObject ts
709
708
710
709
# set to naive if needed
711
710
_tzinfo = self .tzinfo
@@ -1009,10 +1008,6 @@ def unique_deltas(ndarray[int64_t] arr):
1009
1008
return result
1010
1009
1011
1010
1012
- cdef inline bint _is_multiple(int64_t us, int64_t mult):
1013
- return us % mult == 0
1014
-
1015
-
1016
1011
cdef inline bint _cmp_scalar(int64_t lhs, int64_t rhs, int op) except - 1 :
1017
1012
if op == Py_EQ:
1018
1013
return lhs == rhs
@@ -4694,7 +4689,6 @@ def get_date_field(ndarray[int64_t] dtindex, object field):
4694
4689
field and return an array of these values.
4695
4690
"""
4696
4691
cdef:
4697
- _TSObject ts
4698
4692
Py_ssize_t i, count = 0
4699
4693
ndarray[int32_t] out
4700
4694
ndarray[int32_t, ndim= 2 ] _month_offset
@@ -4876,7 +4870,6 @@ def get_start_end_field(ndarray[int64_t] dtindex, object field,
4876
4870
(defined by frequency).
4877
4871
"""
4878
4872
cdef:
4879
- _TSObject ts
4880
4873
Py_ssize_t i
4881
4874
int count = 0
4882
4875
bint is_business = 0
@@ -4925,9 +4918,8 @@ def get_start_end_field(ndarray[int64_t] dtindex, object field,
4925
4918
4926
4919
pandas_datetime_to_datetimestruct(
4927
4920
dtindex[i], PANDAS_FR_ns, & dts)
4928
- ts = convert_to_tsobject(dtindex[i], None , None , 0 , 0 )
4929
4921
dom = dts.day
4930
- dow = ts_dayofweek(ts )
4922
+ dow = dayofweek(dts.year, dts.month, dts.day )
4931
4923
4932
4924
if (dom == 1 and dow < 5 ) or (dom <= 3 and dow == 0 ):
4933
4925
out[i] = 1
@@ -4951,13 +4943,12 @@ def get_start_end_field(ndarray[int64_t] dtindex, object field,
4951
4943
4952
4944
pandas_datetime_to_datetimestruct(
4953
4945
dtindex[i], PANDAS_FR_ns, & dts)
4954
- ts = convert_to_tsobject(dtindex[i], None , None , 0 , 0 )
4955
4946
isleap = is_leapyear(dts.year)
4956
4947
mo_off = _month_offset[isleap, dts.month - 1 ]
4957
4948
dom = dts.day
4958
4949
doy = mo_off + dom
4959
4950
ldom = _month_offset[isleap, dts.month]
4960
- dow = ts_dayofweek(ts )
4951
+ dow = dayofweek(dts.year, dts.month, dts.day )
4961
4952
4962
4953
if (ldom == doy and dow < 5 ) or (
4963
4954
dow == 4 and (ldom - doy <= 2 )):
@@ -4986,9 +4977,8 @@ def get_start_end_field(ndarray[int64_t] dtindex, object field,
4986
4977
4987
4978
pandas_datetime_to_datetimestruct(
4988
4979
dtindex[i], PANDAS_FR_ns, & dts)
4989
- ts = convert_to_tsobject(dtindex[i], None , None , 0 , 0 )
4990
4980
dom = dts.day
4991
- dow = ts_dayofweek(ts )
4981
+ dow = dayofweek(dts.year, dts.month, dts.day )
4992
4982
4993
4983
if ((dts.month - start_month) % 3 == 0 ) and (
4994
4984
(dom == 1 and dow < 5 ) or (dom <= 3 and dow == 0 )):
@@ -5013,13 +5003,12 @@ def get_start_end_field(ndarray[int64_t] dtindex, object field,
5013
5003
5014
5004
pandas_datetime_to_datetimestruct(
5015
5005
dtindex[i], PANDAS_FR_ns, & dts)
5016
- ts = convert_to_tsobject(dtindex[i], None , None , 0 , 0 )
5017
5006
isleap = is_leapyear(dts.year)
5018
5007
mo_off = _month_offset[isleap, dts.month - 1 ]
5019
5008
dom = dts.day
5020
5009
doy = mo_off + dom
5021
5010
ldom = _month_offset[isleap, dts.month]
5022
- dow = ts_dayofweek(ts )
5011
+ dow = dayofweek(dts.year, dts.month, dts.day )
5023
5012
5024
5013
if ((dts.month - end_month) % 3 == 0 ) and (
5025
5014
(ldom == doy and dow < 5 ) or (
@@ -5049,9 +5038,8 @@ def get_start_end_field(ndarray[int64_t] dtindex, object field,
5049
5038
5050
5039
pandas_datetime_to_datetimestruct(
5051
5040
dtindex[i], PANDAS_FR_ns, & dts)
5052
- ts = convert_to_tsobject(dtindex[i], None , None , 0 , 0 )
5053
5041
dom = dts.day
5054
- dow = ts_dayofweek(ts )
5042
+ dow = dayofweek(dts.year, dts.month, dts.day )
5055
5043
5056
5044
if (dts.month == start_month) and (
5057
5045
(dom == 1 and dow < 5 ) or (dom <= 3 and dow == 0 )):
@@ -5076,12 +5064,11 @@ def get_start_end_field(ndarray[int64_t] dtindex, object field,
5076
5064
5077
5065
pandas_datetime_to_datetimestruct(
5078
5066
dtindex[i], PANDAS_FR_ns, & dts)
5079
- ts = convert_to_tsobject(dtindex[i], None , None , 0 , 0 )
5080
5067
isleap = is_leapyear(dts.year)
5081
5068
dom = dts.day
5082
5069
mo_off = _month_offset[isleap, dts.month - 1 ]
5083
5070
doy = mo_off + dom
5084
- dow = ts_dayofweek(ts )
5071
+ dow = dayofweek(dts.year, dts.month, dts.day )
5085
5072
ldom = _month_offset[isleap, dts.month]
5086
5073
5087
5074
if (dts.month == end_month) and (
@@ -5095,7 +5082,6 @@ def get_start_end_field(ndarray[int64_t] dtindex, object field,
5095
5082
5096
5083
pandas_datetime_to_datetimestruct(
5097
5084
dtindex[i], PANDAS_FR_ns, & dts)
5098
- ts = convert_to_tsobject(dtindex[i], None , None , 0 , 0 )
5099
5085
isleap = is_leapyear(dts.year)
5100
5086
mo_off = _month_offset[isleap, dts.month - 1 ]
5101
5087
dom = dts.day
@@ -5117,7 +5103,6 @@ def get_date_name_field(ndarray[int64_t] dtindex, object field):
5117
5103
name based on requested field (e.g. weekday_name)
5118
5104
"""
5119
5105
cdef:
5120
- _TSObject ts
5121
5106
Py_ssize_t i, count = 0
5122
5107
ndarray[object ] out
5123
5108
pandas_datetimestruct dts
@@ -5143,10 +5128,6 @@ def get_date_name_field(ndarray[int64_t] dtindex, object field):
5143
5128
raise ValueError (" Field %s not supported" % field)
5144
5129
5145
5130
5146
- cdef inline int m8_weekday(int64_t val):
5147
- ts = convert_to_tsobject(val, None , None , 0 , 0 )
5148
- return ts_dayofweek(ts)
5149
-
5150
5131
cdef int64_t DAY_NS = 86400000000000L L
5151
5132
5152
5133
@@ -5156,11 +5137,9 @@ def date_normalize(ndarray[int64_t] stamps, tz=None):
5156
5137
cdef:
5157
5138
Py_ssize_t i, n = len (stamps)
5158
5139
pandas_datetimestruct dts
5159
- _TSObject tso
5160
5140
ndarray[int64_t] result = np.empty(n, dtype = np.int64)
5161
5141
5162
5142
if tz is not None :
5163
- tso = _TSObject()
5164
5143
tz = maybe_get_tz(tz)
5165
5144
result = _normalize_local(stamps, tz)
5166
5145
else :
@@ -5305,8 +5284,6 @@ def monthrange(int64_t year, int64_t month):
5305
5284
5306
5285
return (dayofweek(year, month, 1 ), days)
5307
5286
5308
- cdef inline int64_t ts_dayofweek(_TSObject ts):
5309
- return dayofweek(ts.dts.year, ts.dts.month, ts.dts.day)
5310
5287
5311
5288
cdef inline int days_in_month(pandas_datetimestruct dts) nogil:
5312
5289
return days_per_month_table[is_leapyear(dts.year)][dts.month - 1 ]
0 commit comments