def _unconvert_index(data, kind): if kind == 'datetime64': index = DatetimeIndex(data) elif kind == 'datetime': index = np.array([datetime.fromtimestamp(v) for v in data], dtype=object) elif kind == 'date': index = np.array([date.fromtimestamp(v) for v in data], dtype=object) elif kind in ('string', 'integer', 'float'): index = np.array(data) elif kind == 'object': index = np.array(data[0]) else: # pragma: no cover raise ValueError('unrecognized index type %s' % kind) return index
def test_groupby_groups_datetimeindex(self): # #1430 from pandas.tseries.api import DatetimeIndex periods = 1000 ind = DatetimeIndex(start='2012/1/1', freq='5min', periods=periods) df = DataFrame({ 'high': np.arange(periods), 'low': np.arange(periods) }, index=ind) grouped = df.groupby(lambda x: datetime(x.year, x.month, x.day)) # it works! groups = grouped.groups tm.assertIsInstance(list(groups.keys())[0], datetime) # GH 11442 index = pd.date_range('2015/01/01', periods=5, name='date') df = pd.DataFrame({ 'A': [5, 6, 7, 8, 9], 'B': [1, 2, 3, 4, 5] }, index=index) result = df.groupby(level='date').groups dates = [ '2015-01-05', '2015-01-04', '2015-01-03', '2015-01-02', '2015-01-01' ] expected = { pd.Timestamp(date): pd.DatetimeIndex([date], name='date') for date in dates } tm.assert_dict_equal(result, expected) grouped = df.groupby(level='date') for date in dates: result = grouped.get_group(date) data = [[df.loc[date, 'A'], df.loc[date, 'B']]] expected_index = pd.DatetimeIndex([date], name='date') expected = pd.DataFrame(data, columns=list('AB'), index=expected_index) tm.assert_frame_equal(result, expected)
def f(values, freq=None, tz=None): return DatetimeIndex._simple_new(values, None, freq=freq, tz=tz)