Exemplo n.º 1
0
    def _init_dates(self, dates, freq):
        if dates is None:
            dates = self.data.row_labels

        if dates is not None:
            if (not datetools._is_datetime_index(dates) and
                    isinstance(self.data, data.PandasData)):
                try:
                    dates = to_datetime(dates)
                except ValueError:
                    raise ValueError("Given a pandas object and the index does "
                                     "not contain dates")
            if not freq:
                try:
                    freq = datetools._infer_freq(dates)
                except:
                    raise ValueError("Frequency inference failed. Use `freq` "
                            "keyword.")
            dates = Index(dates)
        self.data.dates = dates
        if freq:
            try: #NOTE: Can drop this once we move to pandas >= 0.8.x
                _freq_to_pandas[freq]
            except:
                raise ValueError("freq %s not understood" % freq)
        self.data.freq = freq
Exemplo n.º 2
0
    def _init_dates(self, dates, freq):
        if dates is None:
            dates = self.data.row_labels

        if dates is not None:
            if (not datetools._is_datetime_index(dates) and
                    isinstance(self.data, data.PandasData)):
                try:
                    if is_numeric_dtype(dates):
                        raise ValueError
                    dates = to_datetime(dates)
                except ValueError:
                    raise ValueError("Given a pandas object and the index does "
                                     "not contain dates")
            if not freq:
                try:
                    freq = datetools._infer_freq(dates)
                except:
                    raise ValueError("Frequency inference failed. Use `freq` "
                                     "keyword.")

            if isinstance(dates[0], datetime.datetime):
                dates = DatetimeIndex(dates)
            else: # preserve PeriodIndex
                dates = PeriodIndex(dates)
        self.data.dates = dates
        self.data.freq = freq

        # Test for nanoseconds in early pandas versions
        if freq is not None and _freq_to_pandas[freq].freqstr == 'N':
            from distutils.version import LooseVersion
            from pandas import __version__ as pd_version
            if LooseVersion(pd_version) < '0.14':
                raise NotImplementedError('Nanosecond index not available in'
                                          ' Pandas < 0.14')
Exemplo n.º 3
0
    def _init_dates(self, dates, freq):
        if dates is None:
            dates = self.data.row_labels

        if dates is not None:
            if (not datetools._is_datetime_index(dates) and
                    isinstance(self.data, data.PandasData)):
                try:
                    if is_numeric_dtype(dates):
                        raise ValueError
                    dates = to_datetime(dates)
                except ValueError:
                    raise ValueError("Given a pandas object and the index does "
                                     "not contain dates")
            if not freq:
                try:
                    freq = datetools._infer_freq(dates)
                except:
                    raise ValueError("Frequency inference failed. Use `freq` "
                                     "keyword.")

            if isinstance(dates[0], datetime.datetime):
                dates = DatetimeIndex(dates)
            else: # preserve PeriodIndex
                dates = PeriodIndex(dates)
        self.data.dates = dates
        self.data.freq = freq

        # Test for nanoseconds in early pandas versions
        if freq is not None and _freq_to_pandas[freq].freqstr == 'N':
            from distutils.version import LooseVersion
            from pandas import __version__ as pd_version
            if LooseVersion(pd_version) < '0.14':
                raise NotImplementedError('Nanosecond index not available in'
                                          ' Pandas < 0.14')
Exemplo n.º 4
0
    def _init_dates(self, dates, freq):
        if dates is None:
            dates = self.data.row_labels

        if dates is not None:
            if (not datetools._is_datetime_index(dates) and
                    isinstance(self.data, data.PandasData)):
                try:
                    if is_numeric_dtype(dates):
                        raise ValueError
                    dates = to_datetime(dates)
                except ValueError:
                    raise ValueError("Given a pandas object and the index does "
                                     "not contain dates")
            if not freq:
                try:
                    freq = datetools._infer_freq(dates)
                except:
                    raise ValueError("Frequency inference failed. Use `freq` "
                                     "keyword.")

            if isinstance(dates[0], datetime.datetime):
                dates = DatetimeIndex(dates)
            else: # preserve PeriodIndex
                dates = PeriodIndex(dates)
        self.data.dates = dates
        self.data.freq = freq
Exemplo n.º 5
0
    def _init_dates(self, dates, freq):
        if dates is None:
            dates = self.data.row_labels

        if dates is not None:
            if (not datetools._is_datetime_index(dates)
                    and isinstance(self.data, data.PandasData)):
                try:
                    if is_numeric_dtype(dates):
                        raise ValueError
                    dates = to_datetime(dates)
                except ValueError:
                    raise ValueError(
                        "Given a pandas object and the index does "
                        "not contain dates")
            if not freq:
                try:
                    freq = datetools._infer_freq(dates)
                except:
                    raise ValueError("Frequency inference failed. Use `freq` "
                                     "keyword.")

            if isinstance(dates[0], datetime.datetime):
                dates = DatetimeIndex(dates)
            else:  # preserve PeriodIndex
                dates = PeriodIndex(dates)
        self.data.dates = dates
        self.data.freq = freq
Exemplo n.º 6
0
    def _init_dates(self, dates, period):
        # maybe freq to period
        self.period = period or 0
        if dates is None:
            dates = self.data.row_labels

        if dates is not None:
            if (not datetools._is_datetime_index(dates) and
                    isinstance(self.data, data.PandasData)):
                raise ValueError("Given a pandas object and the index does "
                                 "not contain dates")
            #if not freq:
            #    try:
            #        freq = datetools._infer_freq(dates)
            #    except:
            #        raise ValueError("Frequency inference failed. Use `freq` "
            #                         "keyword.")
            dates = Index(dates)
        self.data.dates = dates