def month_name(self, locale=None): """ Return the month names of the DateTimeIndex with specified locale. Parameters ---------- locale : string, default None (English locale) locale determining the language in which to return the month name Returns ------- month_names : Index Index of month names .. versionadded:: 0.23.0 """ if self.tz is not None and self.tz is not utc: values = self._local_timestamps() else: values = self.asi8 result = fields.get_date_name_field(values, 'month_name', locale=locale) result = self._maybe_mask_results(result) return result
def day_name(self, locale=None): """ Return the day names of the DateTimeIndex with specified locale. Parameters ---------- locale : string, default None (English locale) locale determining the language in which to return the day name Returns ------- month_names : Index Index of day names .. versionadded:: 0.23.0 """ if self.tz is not None and self.tz is not utc: values = self._local_timestamps() else: values = self.asi8 result = fields.get_date_name_field(values, 'day_name', locale=locale) result = self._maybe_mask_results(result) return result
def f(self): values = self.asi8 if self.tz is not None: if self.tz is not utc: values = self._local_timestamps() if field in self._bool_ops: if field.endswith(('start', 'end')): freq = self.freq month_kw = 12 if freq: kwds = freq.kwds month_kw = kwds.get('startingMonth', kwds.get('month', 12)) result = fields.get_start_end_field(values, field, self.freqstr, month_kw) else: result = fields.get_date_field(values, field) # these return a boolean by-definition return result if field in self._object_ops: result = fields.get_date_name_field(values, field) result = self._maybe_mask_results(result) else: result = fields.get_date_field(values, field) result = self._maybe_mask_results(result, convert='float64') return result
def f(self): values = self.asi8 if self.tz is not None: if self.tz is not utc: values = self._local_timestamps() if field in self._bool_ops: if field.endswith(('start', 'end')): freq = self.freq month_kw = 12 if freq: kwds = freq.kwds month_kw = kwds.get('startingMonth', kwds.get('month', 12)) result = fields.get_start_end_field(values, field, self.freqstr, month_kw) else: result = fields.get_date_field(values, field) # these return a boolean by-definition return result if field in self._object_ops: result = fields.get_date_name_field(values, field) result = self._maybe_mask_results(result) else: result = fields.get_date_field(values, field) result = self._maybe_mask_results(result, convert='float64') return result
def day_name(self, locale=None): """ Return the day names of the DateTimeIndex with specified locale. .. versionadded:: 0.23.0 Parameters ---------- locale : str, optional Locale determining the language in which to return the day name. Default is English locale. Returns ------- Index Index of day names. Examples -------- >>> idx = pd.DatetimeIndex(start='2018-01-01', freq='D', periods=3) >>> idx DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03'], dtype='datetime64[ns]', freq='D') >>> idx.day_name() Index(['Monday', 'Tuesday', 'Wednesday'], dtype='object') """ if self.tz is not None and self.tz is not utc: values = self._local_timestamps() else: values = self.asi8 result = fields.get_date_name_field(values, 'day_name', locale=locale) result = self._maybe_mask_results(result) return result
def day_name(self, locale=None): """ Return the day names of the DateTimeIndex with specified locale. .. versionadded:: 0.23.0 Parameters ---------- locale : str, optional Locale determining the language in which to return the day name. Default is English locale. Returns ------- Index Index of day names. Examples -------- >>> idx = pd.DatetimeIndex(start='2018-01-01', freq='D', periods=3) >>> idx DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03'], dtype='datetime64[ns]', freq='D') >>> idx.day_name() Index(['Monday', 'Tuesday', 'Wednesday'], dtype='object') """ if self.tz is not None and self.tz is not utc: values = self._local_timestamps() else: values = self.asi8 result = fields.get_date_name_field(values, 'day_name', locale=locale) result = self._maybe_mask_results(result) return result
def test_get_date_name_field_readonly(dtindex): # https://github.com/vaexio/vaex/issues/357 # fields functions shouldn't raise when we pass read-only data result = fields.get_date_name_field(dtindex, "month_name") expected = np.array(["January", "February", "March", "April", "May"], dtype=object) tm.assert_numpy_array_equal(result, expected)
def test_fields_readonly(): # https://github.com/vaexio/vaex/issues/357 # fields functions shouldn't raise when we pass read-only data dtindex = np.arange(5, dtype=np.int64) * 10**9 * 3600 * 24 * 32 dtindex.flags.writeable = False result = fields.get_date_name_field(dtindex, "month_name") expected = np.array(["January", "February", "March", "April", "May"], dtype=object) tm.assert_numpy_array_equal(result, expected) result = fields.get_date_field(dtindex, "Y") expected = np.array([1970, 1970, 1970, 1970, 1970], dtype=np.int32) tm.assert_numpy_array_equal(result, expected) result = fields.get_start_end_field(dtindex, "is_month_start", None) expected = np.array([True, False, False, False, False], dtype=np.bool_) tm.assert_numpy_array_equal(result, expected) # treat dtindex as timedeltas for this next one result = fields.get_timedelta_field(dtindex, "days") expected = np.arange(5, dtype=np.int32) * 32 tm.assert_numpy_array_equal(result, expected)