def testFromTensorSerialize(self): # test serialization and deserialization # pb tensor = mt.random.rand(10, 10) df = dataframe_from_tensor(tensor) df.tiles() chunk = df.chunks[0] serials = self._pb_serial(chunk) op, pb = serials[chunk.op, chunk.data] self.assertEqual(tuple(pb.index), chunk.index) self.assertEqual(pb.key, chunk.key) self.assertEqual(tuple(pb.shape), chunk.shape) self.assertEqual(int(op.type.split('.', 1)[1]), OperandDef.DATAFRAME_FROM_TENSOR) chunk2 = self._pb_deserial(serials)[chunk.data] self.assertEqual(chunk.index, chunk2.index) self.assertEqual(chunk.key, chunk2.key) self.assertEqual(chunk.shape, chunk2.shape) pd.testing.assert_index_equal(chunk2.index_value.to_pandas(), chunk.index_value.to_pandas()) pd.testing.assert_index_equal(chunk2.columns_value.to_pandas(), chunk.columns_value.to_pandas()) # json chunk = df.chunks[0] serials = self._json_serial(chunk) chunk2 = self._json_deserial(serials)[chunk.data] self.assertEqual(chunk.index, chunk2.index) self.assertEqual(chunk.key, chunk2.key) self.assertEqual(chunk.shape, chunk2.shape) pd.testing.assert_index_equal(chunk2.index_value.to_pandas(), chunk.index_value.to_pandas()) pd.testing.assert_index_equal(chunk2.columns_value.to_pandas(), chunk.columns_value.to_pandas())
def testFromTensorExecution(self): tensor = mt.random.rand(10, 10, chunk_size=5) df = dataframe_from_tensor(tensor) tensor_res = self.executor.execute_tensor(tensor, concat=True)[0] pdf_expected = pd.DataFrame(tensor_res) df_result = self.executor.execute_dataframe(df, concat=True)[0] pd.testing.assert_index_equal(df_result.index, pd.RangeIndex(0, 10)) pd.testing.assert_index_equal(df_result.columns, pd.RangeIndex(0, 10)) pd.testing.assert_frame_equal(df_result, pdf_expected) # test converted with specified index_value and columns tensor2 = mt.random.rand(2, 2, chunk_size=1) df2 = dataframe_from_tensor(tensor2, index=pd.Index(['a', 'b']), columns=pd.Index([3, 4])) df_result = self.executor.execute_dataframe(df2, concat=True)[0] pd.testing.assert_index_equal(df_result.index, pd.Index(['a', 'b'])) pd.testing.assert_index_equal(df_result.columns, pd.Index([3, 4])) # test converted from 1-d tensor tensor3 = mt.array([1, 2, 3]) df3 = dataframe_from_tensor(tensor3) result3 = self.executor.execute_dataframe(df3, concat=True)[0] pdf_expected = pd.DataFrame(np.array([1, 2, 3])) pd.testing.assert_frame_equal(pdf_expected, result3) # test converted from identical chunks tensor4 = mt.ones((10, 10), chunk_size=3) df4 = dataframe_from_tensor(tensor4) result4 = self.executor.execute_dataframe(df4, concat=True)[0] pdf_expected = pd.DataFrame( self.executor.execute_tensor(tensor4, concat=True)[0]) pd.testing.assert_frame_equal(pdf_expected, result4) # from tensor with given index tensor5 = mt.ones((10, 10), chunk_size=3) df5 = dataframe_from_tensor(tensor5, index=np.arange(0, 20, 2)) result5 = self.executor.execute_dataframe(df5, concat=True)[0] pdf_expected = pd.DataFrame(self.executor.execute_tensor( tensor5, concat=True)[0], index=np.arange(0, 20, 2)) pd.testing.assert_frame_equal(pdf_expected, result5) # from tensor with given columns tensor6 = mt.ones((10, 10), chunk_size=3) df6 = dataframe_from_tensor(tensor6, columns=list('abcdefghij')) result6 = self.executor.execute_dataframe(df6, concat=True)[0] pdf_expected = pd.DataFrame(self.executor.execute_tensor( tensor6, concat=True)[0], columns=list('abcdefghij')) pd.testing.assert_frame_equal(pdf_expected, result6)
def testFromTensor(self): tensor = mt.random.rand(10, 10, chunk_size=5) df = dataframe_from_tensor(tensor) self.assertIsInstance(df.index_value._index_value, IndexValue.RangeIndex) self.assertEqual(df.op.dtypes[0], tensor.dtype, 'DataFrame converted from tensor have the wrong dtype') df.tiles() self.assertEqual(len(df.chunks), 4) self.assertIsInstance(df.chunks[0].index_value._index_value, IndexValue.RangeIndex) self.assertIsInstance(df.chunks[0].index_value, IndexValue) # test converted from 1-d tensor tensor2 = mt.array([1, 2, 3]) # in fact, tensor3 is (3,1) tensor3 = mt.array([tensor2]).T df2 = dataframe_from_tensor(tensor2) df3 = dataframe_from_tensor(tensor3) df2.tiles() df3.tiles() np.testing.assert_equal(df2.chunks[0].index, (0, 0)) np.testing.assert_equal(df3.chunks[0].index, (0, 0)) # test converted from scalar scalar = mt.array(1) np.testing.assert_equal(scalar.ndim, 0) with self.assertRaises(TypeError): dataframe_from_tensor(scalar) # from tensor with given index df = dataframe_from_tensor(tensor, index=np.arange(0, 20, 2)) df.tiles() pd.testing.assert_index_equal(df.chunks[0].index_value.to_pandas(), pd.Index(np.arange(0, 10, 2))) pd.testing.assert_index_equal(df.chunks[1].index_value.to_pandas(), pd.Index(np.arange(0, 10, 2))) pd.testing.assert_index_equal(df.chunks[2].index_value.to_pandas(), pd.Index(np.arange(10, 20, 2))) pd.testing.assert_index_equal(df.chunks[3].index_value.to_pandas(), pd.Index(np.arange(10, 20, 2))) # from tensor with given columns df = dataframe_from_tensor(tensor, columns=list('abcdefghij')) df.tiles() pd.testing.assert_index_equal(df.chunks[0].columns_value.to_pandas(), pd.Index(['a', 'b', 'c', 'd', 'e'])) pd.testing.assert_index_equal(df.chunks[1].columns_value.to_pandas(), pd.Index(['f', 'g', 'h', 'i', 'j'])) pd.testing.assert_index_equal(df.chunks[2].columns_value.to_pandas(), pd.Index(['a', 'b', 'c', 'd', 'e'])) pd.testing.assert_index_equal(df.chunks[3].columns_value.to_pandas(), pd.Index(['f', 'g', 'h', 'i', 'j'])) # test series from tensor tensor = mt.random.rand(10, chunk_size=4) series = series_from_tensor(tensor, name='a') self.assertEqual(series.dtype, tensor.dtype) self.assertEqual(series.name, 'a') pd.testing.assert_index_equal(series.index_value.to_pandas(), pd.RangeIndex(10)) series.tiles() self.assertEqual(len(series.chunks), 3) pd.testing.assert_index_equal(series.chunks[0].index_value.to_pandas(), pd.RangeIndex(0, 4)) self.assertEqual(series.chunks[0].name, 'a') pd.testing.assert_index_equal(series.chunks[1].index_value.to_pandas(), pd.RangeIndex(4, 8)) self.assertEqual(series.chunks[1].name, 'a') pd.testing.assert_index_equal(series.chunks[2].index_value.to_pandas(), pd.RangeIndex(8, 10)) self.assertEqual(series.chunks[2].name, 'a') with self.assertRaises(TypeError): series_from_tensor(mt.ones((10, 10)))
def testFromTensorExecution(self): tensor = mt.random.rand(10, 10, chunk_size=5) df = dataframe_from_tensor(tensor) tensor_res = self.executor.execute_tensor(tensor, concat=True)[0] pdf_expected = pd.DataFrame(tensor_res) df_result = self.executor.execute_dataframe(df, concat=True)[0] pd.testing.assert_index_equal(df_result.index, pd.RangeIndex(0, 10)) pd.testing.assert_index_equal(df_result.columns, pd.RangeIndex(0, 10)) pd.testing.assert_frame_equal(df_result, pdf_expected) # test converted with specified index_value and columns tensor2 = mt.random.rand(2, 2, chunk_size=1) df2 = dataframe_from_tensor(tensor2, index=pd.Index(['a', 'b']), columns=pd.Index([3, 4])) df_result = self.executor.execute_dataframe(df2, concat=True)[0] pd.testing.assert_index_equal(df_result.index, pd.Index(['a', 'b'])) pd.testing.assert_index_equal(df_result.columns, pd.Index([3, 4])) # test converted from 1-d tensor tensor3 = mt.array([1, 2, 3]) df3 = dataframe_from_tensor(tensor3) result3 = self.executor.execute_dataframe(df3, concat=True)[0] pdf_expected = pd.DataFrame(np.array([1, 2, 3])) pd.testing.assert_frame_equal(pdf_expected, result3) # test converted from identical chunks tensor4 = mt.ones((10, 10), chunk_size=3) df4 = dataframe_from_tensor(tensor4) result4 = self.executor.execute_dataframe(df4, concat=True)[0] pdf_expected = pd.DataFrame( self.executor.execute_tensor(tensor4, concat=True)[0]) pd.testing.assert_frame_equal(pdf_expected, result4) # from tensor with given index tensor5 = mt.ones((10, 10), chunk_size=3) df5 = dataframe_from_tensor(tensor5, index=np.arange(0, 20, 2)) result5 = self.executor.execute_dataframe(df5, concat=True)[0] pdf_expected = pd.DataFrame(self.executor.execute_tensor( tensor5, concat=True)[0], index=np.arange(0, 20, 2)) pd.testing.assert_frame_equal(pdf_expected, result5) # from tensor with given index that is a tensor raw7 = np.random.rand(10, 10) tensor7 = mt.tensor(raw7, chunk_size=3) index_raw7 = np.random.rand(10) index7 = mt.tensor(index_raw7, chunk_size=4) df7 = dataframe_from_tensor(tensor7, index=index7) result7 = self.executor.execute_dataframe(df7, concat=True)[0] pdf_expected = pd.DataFrame(raw7, index=index_raw7) pd.testing.assert_frame_equal(pdf_expected, result7) # from tensor with given index is a md.Index raw10 = np.random.rand(10, 10) tensor10 = mt.tensor(raw10, chunk_size=3) index10 = md.date_range('2020-1-1', periods=10, chunk_size=3) df10 = dataframe_from_tensor(tensor10, index=index10) result10 = self.executor.execute_dataframe(df10, concat=True)[0] pdf_expected = pd.DataFrame(raw10, index=pd.date_range('2020-1-1', periods=10)) pd.testing.assert_frame_equal(pdf_expected, result10) # from tensor with given columns tensor6 = mt.ones((10, 10), chunk_size=3) df6 = dataframe_from_tensor(tensor6, columns=list('abcdefghij')) result6 = self.executor.execute_dataframe(df6, concat=True)[0] pdf_expected = pd.DataFrame(self.executor.execute_tensor( tensor6, concat=True)[0], columns=list('abcdefghij')) pd.testing.assert_frame_equal(pdf_expected, result6) # from 1d tensors raws8 = [('a', np.random.rand(8)), ('b', np.random.randint(10, size=8)), ('c', [ ''.join(np.random.choice(list(printable), size=6)) for _ in range(8) ])] tensors8 = OrderedDict( (r[0], mt.tensor(r[1], chunk_size=3)) for r in raws8) raws8.append(('d', 1)) raws8.append(('e', pd.date_range('2020-1-1', periods=8))) tensors8['d'] = 1 tensors8['e'] = raws8[-1][1] df8 = dataframe_from_1d_tileables(tensors8, columns=[r[0] for r in raws8]) result = self.executor.execute_dataframe(df8, concat=True)[0] pdf_expected = pd.DataFrame(OrderedDict(raws8)) pd.testing.assert_frame_equal(result, pdf_expected) # from 1d tensors and specify index with a tensor index_raw9 = np.random.rand(8) index9 = mt.tensor(index_raw9, chunk_size=4) df9 = dataframe_from_1d_tileables(tensors8, columns=[r[0] for r in raws8], index=index9) result = self.executor.execute_dataframe(df9, concat=True)[0] pdf_expected = pd.DataFrame(OrderedDict(raws8), index=index_raw9) pd.testing.assert_frame_equal(result, pdf_expected) # from 1d tensors and specify index df11 = dataframe_from_1d_tileables(tensors8, columns=[r[0] for r in raws8], index=md.date_range('2020-1-1', periods=8)) result = self.executor.execute_dataframe(df11, concat=True)[0] pdf_expected = pd.DataFrame(OrderedDict(raws8), index=pd.date_range('2020-1-1', periods=8)) pd.testing.assert_frame_equal(result, pdf_expected)
def testFromTensor(self): tensor = mt.random.rand(10, 10, chunk_size=5) df = dataframe_from_tensor(tensor) self.assertIsInstance(df.index_value._index_value, IndexValue.RangeIndex) self.assertEqual( df.op.dtypes[0], tensor.dtype, 'DataFrame converted from tensor have the wrong dtype') df = df.tiles() self.assertEqual(len(df.chunks), 4) self.assertIsInstance(df.chunks[0].index_value._index_value, IndexValue.RangeIndex) self.assertIsInstance(df.chunks[0].index_value, IndexValue) # test converted from 1-d tensor tensor2 = mt.array([1, 2, 3]) # in fact, tensor3 is (3,1) tensor3 = mt.array([tensor2]).T df2 = dataframe_from_tensor(tensor2) df3 = dataframe_from_tensor(tensor3) df2 = df2.tiles() df3 = df3.tiles() np.testing.assert_equal(df2.chunks[0].index, (0, 0)) np.testing.assert_equal(df3.chunks[0].index, (0, 0)) # test converted from scalar scalar = mt.array(1) np.testing.assert_equal(scalar.ndim, 0) with self.assertRaises(TypeError): dataframe_from_tensor(scalar) # from tensor with given index df = dataframe_from_tensor(tensor, index=np.arange(0, 20, 2)) df = df.tiles() pd.testing.assert_index_equal(df.chunks[0].index_value.to_pandas(), pd.Index(np.arange(0, 10, 2))) pd.testing.assert_index_equal(df.chunks[1].index_value.to_pandas(), pd.Index(np.arange(0, 10, 2))) pd.testing.assert_index_equal(df.chunks[2].index_value.to_pandas(), pd.Index(np.arange(10, 20, 2))) pd.testing.assert_index_equal(df.chunks[3].index_value.to_pandas(), pd.Index(np.arange(10, 20, 2))) # from tensor with index that is a tensor as well df = dataframe_from_tensor(tensor, index=mt.arange(0, 20, 2)) df = df.tiles() self.assertEqual(len(df.chunks[0].inputs), 2) self.assertFalse(df.chunks[0].index_value.has_value()) # from tensor with given columns df = dataframe_from_tensor(tensor, columns=list('abcdefghij')) df = df.tiles() pd.testing.assert_index_equal(df.dtypes.index, pd.Index(list('abcdefghij'))) pd.testing.assert_index_equal(df.chunks[0].columns_value.to_pandas(), pd.Index(['a', 'b', 'c', 'd', 'e'])) pd.testing.assert_index_equal(df.chunks[0].dtypes.index, pd.Index(['a', 'b', 'c', 'd', 'e'])) pd.testing.assert_index_equal(df.chunks[1].columns_value.to_pandas(), pd.Index(['f', 'g', 'h', 'i', 'j'])) pd.testing.assert_index_equal(df.chunks[1].dtypes.index, pd.Index(['f', 'g', 'h', 'i', 'j'])) pd.testing.assert_index_equal(df.chunks[2].columns_value.to_pandas(), pd.Index(['a', 'b', 'c', 'd', 'e'])) pd.testing.assert_index_equal(df.chunks[2].dtypes.index, pd.Index(['a', 'b', 'c', 'd', 'e'])) pd.testing.assert_index_equal(df.chunks[3].columns_value.to_pandas(), pd.Index(['f', 'g', 'h', 'i', 'j'])) pd.testing.assert_index_equal(df.chunks[3].dtypes.index, pd.Index(['f', 'g', 'h', 'i', 'j'])) # test series from tensor tensor = mt.random.rand(10, chunk_size=4) series = series_from_tensor(tensor, name='a') self.assertEqual(series.dtype, tensor.dtype) self.assertEqual(series.name, 'a') pd.testing.assert_index_equal(series.index_value.to_pandas(), pd.RangeIndex(10)) series = series.tiles() self.assertEqual(len(series.chunks), 3) pd.testing.assert_index_equal(series.chunks[0].index_value.to_pandas(), pd.RangeIndex(0, 4)) self.assertEqual(series.chunks[0].name, 'a') pd.testing.assert_index_equal(series.chunks[1].index_value.to_pandas(), pd.RangeIndex(4, 8)) self.assertEqual(series.chunks[1].name, 'a') pd.testing.assert_index_equal(series.chunks[2].index_value.to_pandas(), pd.RangeIndex(8, 10)) self.assertEqual(series.chunks[2].name, 'a') df = dataframe_from_1d_tensors( [mt.tensor(np.random.rand(4)), mt.tensor(np.random.rand(4))]) pd.testing.assert_index_equal(df.columns_value.to_pandas(), pd.RangeIndex(2)) df = df.tiles() pd.testing.assert_index_equal(df.chunks[0].index_value.to_pandas(), pd.RangeIndex(4)) series = series_from_tensor(mt.random.rand(4)) pd.testing.assert_index_equal(series.index_value.to_pandas(), pd.RangeIndex(4)) series = series_from_tensor(mt.random.rand(4), index=[1, 2, 3]) pd.testing.assert_index_equal(series.index_value.to_pandas(), pd.Index([1, 2, 3])) series = series_from_tensor(mt.random.rand(4), index=pd.Index([1, 2, 3], name='my_index')) pd.testing.assert_index_equal(series.index_value.to_pandas(), pd.Index([1, 2, 3], name='my_index')) self.assertEqual(series.index_value.name, 'my_index') with self.assertRaises(TypeError): series_from_tensor(mt.ones((10, 10))) # index has wrong shape with self.assertRaises(ValueError): dataframe_from_tensor(mt.random.rand(4, 3), index=mt.random.rand(5)) # columns have wrong shape with self.assertRaises(ValueError): dataframe_from_tensor(mt.random.rand(4, 3), columns=['a', 'b']) # index should be 1-d with self.assertRaises(ValueError): dataframe_from_tensor(mt.tensor(np.random.rand(3, 2)), index=mt.tensor(np.random.rand(3, 2))) # 1-d tensors should have same shapen with self.assertRaises(ValueError): dataframe_from_1d_tensors( [mt.tensor(np.random.rand(3)), mt.tensor(np.random.rand(2))]) # index has wrong shape with self.assertRaises(ValueError): dataframe_from_1d_tensors([mt.tensor(np.random.rand(3))], index=mt.tensor(np.random.rand(2))) # columns have wrong shape with self.assertRaises(ValueError): dataframe_from_1d_tensors([mt.tensor(np.random.rand(3))], columns=['a', 'b']) # index should be 1-d with self.assertRaises(ValueError): series_from_tensor(mt.random.rand(4), index=mt.random.rand(4, 3))
def test_from_tensor(): tensor = mt.random.rand(10, 10, chunk_size=5) df = dataframe_from_tensor(tensor) assert isinstance(df.index_value._index_value, IndexValue.RangeIndex) assert df.op.dtypes[0] == tensor.dtype df = tile(df) assert len(df.chunks) == 4 assert isinstance(df.chunks[0].index_value._index_value, IndexValue.RangeIndex) assert isinstance(df.chunks[0].index_value, IndexValue) # test converted from 1-d tensor tensor2 = mt.array([1, 2, 3]) # in fact, tensor3 is (3,1) tensor3 = mt.array([tensor2]).T df2 = dataframe_from_tensor(tensor2) df3 = dataframe_from_tensor(tensor3) df2 = tile(df2) df3 = tile(df3) np.testing.assert_equal(df2.chunks[0].index, (0, 0)) np.testing.assert_equal(df3.chunks[0].index, (0, 0)) # test converted from scalar scalar = mt.array(1) np.testing.assert_equal(scalar.ndim, 0) with pytest.raises(TypeError): dataframe_from_tensor(scalar) # from tensor with given index df = dataframe_from_tensor(tensor, index=np.arange(0, 20, 2)) df = tile(df) pd.testing.assert_index_equal(df.chunks[0].index_value.to_pandas(), pd.Index(np.arange(0, 10, 2))) pd.testing.assert_index_equal(df.chunks[1].index_value.to_pandas(), pd.Index(np.arange(0, 10, 2))) pd.testing.assert_index_equal(df.chunks[2].index_value.to_pandas(), pd.Index(np.arange(10, 20, 2))) pd.testing.assert_index_equal(df.chunks[3].index_value.to_pandas(), pd.Index(np.arange(10, 20, 2))) # from tensor with index that is a tensor as well df = dataframe_from_tensor(tensor, index=mt.arange(0, 20, 2)) df = tile(df) assert len(df.chunks[0].inputs) == 2 assert df.chunks[0].index_value.has_value() is False # from tensor with given columns df = dataframe_from_tensor(tensor, columns=list('abcdefghij')) df = tile(df) pd.testing.assert_index_equal(df.dtypes.index, pd.Index(list('abcdefghij'))) pd.testing.assert_index_equal(df.chunks[0].columns_value.to_pandas(), pd.Index(['a', 'b', 'c', 'd', 'e'])) pd.testing.assert_index_equal(df.chunks[0].dtypes.index, pd.Index(['a', 'b', 'c', 'd', 'e'])) pd.testing.assert_index_equal(df.chunks[1].columns_value.to_pandas(), pd.Index(['f', 'g', 'h', 'i', 'j'])) pd.testing.assert_index_equal(df.chunks[1].dtypes.index, pd.Index(['f', 'g', 'h', 'i', 'j'])) pd.testing.assert_index_equal(df.chunks[2].columns_value.to_pandas(), pd.Index(['a', 'b', 'c', 'd', 'e'])) pd.testing.assert_index_equal(df.chunks[2].dtypes.index, pd.Index(['a', 'b', 'c', 'd', 'e'])) pd.testing.assert_index_equal(df.chunks[3].columns_value.to_pandas(), pd.Index(['f', 'g', 'h', 'i', 'j'])) pd.testing.assert_index_equal(df.chunks[3].dtypes.index, pd.Index(['f', 'g', 'h', 'i', 'j'])) # test series from tensor tensor = mt.random.rand(10, chunk_size=4) series = series_from_tensor(tensor, name='a') assert series.dtype == tensor.dtype assert series.name == 'a' pd.testing.assert_index_equal(series.index_value.to_pandas(), pd.RangeIndex(10)) series = tile(series) assert len(series.chunks) == 3 pd.testing.assert_index_equal(series.chunks[0].index_value.to_pandas(), pd.RangeIndex(0, 4)) assert series.chunks[0].name == 'a' pd.testing.assert_index_equal(series.chunks[1].index_value.to_pandas(), pd.RangeIndex(4, 8)) assert series.chunks[1].name == 'a' pd.testing.assert_index_equal(series.chunks[2].index_value.to_pandas(), pd.RangeIndex(8, 10)) assert series.chunks[2].name == 'a' d = OrderedDict([(0, mt.tensor(np.random.rand(4))), (1, mt.tensor(np.random.rand(4)))]) df = dataframe_from_1d_tileables(d) pd.testing.assert_index_equal(df.columns_value.to_pandas(), pd.RangeIndex(2)) df = tile(df) pd.testing.assert_index_equal(df.chunks[0].index_value.to_pandas(), pd.RangeIndex(4)) series = series_from_tensor(mt.random.rand(4)) pd.testing.assert_index_equal(series.index_value.to_pandas(), pd.RangeIndex(4)) series = series_from_tensor(mt.random.rand(4), index=[1, 2, 3]) pd.testing.assert_index_equal(series.index_value.to_pandas(), pd.Index([1, 2, 3])) series = series_from_tensor(mt.random.rand(4), index=pd.Index([1, 2, 3], name='my_index')) pd.testing.assert_index_equal(series.index_value.to_pandas(), pd.Index([1, 2, 3], name='my_index')) assert series.index_value.name == 'my_index' with pytest.raises(TypeError): series_from_tensor(mt.ones((10, 10))) # index has wrong shape with pytest.raises(ValueError): dataframe_from_tensor(mt.random.rand(4, 3), index=mt.random.rand(5)) # columns have wrong shape with pytest.raises(ValueError): dataframe_from_tensor(mt.random.rand(4, 3), columns=['a', 'b']) # index should be 1-d with pytest.raises(ValueError): dataframe_from_tensor(mt.tensor(np.random.rand(3, 2)), index=mt.tensor(np.random.rand(3, 2))) # 1-d tensors should have same shape with pytest.raises(ValueError): dataframe_from_1d_tileables(OrderedDict([(0, mt.tensor(np.random.rand(3))), (1, mt.tensor(np.random.rand(2)))])) # index has wrong shape with pytest.raises(ValueError): dataframe_from_1d_tileables({0: mt.tensor(np.random.rand(3))}, index=mt.tensor(np.random.rand(2))) # columns have wrong shape with pytest.raises(ValueError): dataframe_from_1d_tileables({0: mt.tensor(np.random.rand(3))}, columns=['a', 'b']) # index should be 1-d with pytest.raises(ValueError): series_from_tensor(mt.random.rand(4), index=mt.random.rand(4, 3))