def test_fromRecords_toRecords(self): # structured array K = 10 recs = np.zeros(K, dtype='O,O,f8,f8') recs['f0'] = range(K // 2) * 2 recs['f1'] = np.arange(K) / (K // 2) recs['f2'] = np.arange(K) * 2 recs['f3'] = np.arange(K) lp = LongPanel.fromRecords(recs, 'f0', 'f1') self.assertEqual(len(lp.items), 2) lp = LongPanel.fromRecords(recs, 'f0', 'f1', exclude=['f2']) self.assertEqual(len(lp.items), 1) torecs = lp.toRecords() self.assertEqual(len(torecs.dtype.names), len(lp.items) + 2) # DataFrame df = DataFrame.from_records(recs) lp = LongPanel.fromRecords(df, 'f0', 'f1', exclude=['f2']) self.assertEqual(len(lp.items), 1) # dict of arrays series = DataFrame.from_records(recs)._series lp = LongPanel.fromRecords(series, 'f0', 'f1', exclude=['f2']) self.assertEqual(len(lp.items), 1) self.assert_('f2' in series) self.assertRaises(Exception, LongPanel.fromRecords, np.zeros((3, 3)), 0, 1)
def test_fromRecords_toRecords(self): # structured array K = 10 recs = np.zeros(K, dtype="O,O,f8,f8") recs["f0"] = range(K / 2) * 2 recs["f1"] = np.arange(K) / (K / 2) recs["f2"] = np.arange(K) * 2 recs["f3"] = np.arange(K) lp = LongPanel.fromRecords(recs, "f0", "f1") self.assertEqual(len(lp.items), 2) lp = LongPanel.fromRecords(recs, "f0", "f1", exclude=["f2"]) self.assertEqual(len(lp.items), 1) torecs = lp.toRecords() self.assertEqual(len(torecs.dtype.names), len(lp.items) + 2) # DataFrame df = DataFrame.from_records(recs) lp = LongPanel.fromRecords(df, "f0", "f1", exclude=["f2"]) self.assertEqual(len(lp.items), 1) # dict of arrays series = DataFrame.from_records(recs)._series lp = LongPanel.fromRecords(series, "f0", "f1", exclude=["f2"]) self.assertEqual(len(lp.items), 1) self.assert_("f2" in series) self.assertRaises(Exception, LongPanel.fromRecords, np.zeros((3, 3)), 0, 1)
def test_factors(self): # structured array K = 10 recs = np.zeros(K, dtype='O,O,f8,f8,O,O') recs['f0'] = ['one'] * 5 + ['two'] * 5 recs['f1'] = ['A', 'B', 'C', 'D', 'E'] * 2 recs['f2'] = np.arange(K) * 2 recs['f3'] = np.arange(K) recs['f4'] = ['A', 'B', 'C', 'D', 'E'] * 2 recs['f5'] = ['foo', 'bar'] * 5 lp = LongPanel.fromRecords(recs, 'f0', 'f1')
def test_factors(self): # structured array K = 10 recs = np.zeros(K, dtype="O,O,f8,f8,O,O") recs["f0"] = ["one"] * 5 + ["two"] * 5 recs["f1"] = ["A", "B", "C", "D", "E"] * 2 recs["f2"] = np.arange(K) * 2 recs["f3"] = np.arange(K) recs["f4"] = ["A", "B", "C", "D", "E"] * 2 recs["f5"] = ["foo", "bar"] * 5 lp = LongPanel.fromRecords(recs, "f0", "f1")