def testSecurityValuesRankWithGroup(self): data = np.random.randn(3000) groups = np.random.randint(0, 30, 3000) index = list(range(3000)) data = SeriesValues(data, index) groups = SeriesValues(groups, index) test = data.rank(groups) pd_series = pd.Series(data.values) expected = pd_series.groupby(groups.values).rank() np.testing.assert_array_almost_equal(test.values, expected.values)
def testSecurityValuesRank(self): data = np.array([3, 2, np.nan, np.nan, 4, 5]) index = [1, 2, 3, 4, 5, 6] data = SeriesValues(data, index) test = data.rank() expected = SeriesValues(np.array([2, 1, np.nan, np.nan, 3, 4]), dict(zip(index, range(len(index))))) for name in test.index(): if np.isnan(test[name]): self.assertTrue(np.isnan(expected[name])) else: self.assertEqual(test[name], expected[name])