Ejemplo n.º 1
0
def test_setslice():
    s = SparseArray(100, 0)
    s[1] = 2
    s[99] = 2

    s[5:8] = 3
    assert len(s.container) == 5
    assert s.keys() == [1, 5, 6, 7, 99]
    assert s.values() == [2, 3, 3, 3, 2]

    s = SparseArray(100, 0)
    s[1] = 2
    s[99] = 2
    s[5:8] = [3,3,3]
    assert len(s.container) == 5
    assert s.keys() == [1, 5, 6, 7, 99]
    assert s.values() == [2, 3, 3, 3, 2]

    s = SparseArray(100, 0)
    t = SparseArray(100,0)
    t[5:10] = 1
    s[5:10] = t[5:10]
    assert len(t.container) == 5
    assert t.values() == [1]*5
    assert t.keys() == [5, 6, 7, 8, 9]

    s = SparseArray(10, 0)
    s[2:5] = SparseArray.from_dense([1]*10, 0)[2:5]
    assert s.tolist() == [0,0,1,1,1,0,0,0,0,0]

    s = SparseArray(100,0)
    t = SparseArray(100,0)
    t[20:50] = 1
    s[20:50] = t[20:50]
    assert all(sv == 1 for sv in s[20:50].tolist())
Ejemplo n.º 2
0
def test_staticbuilders():
    a = SparseArray.from_dense([0, 1, 1, 0, 0, 1], 0)
    assert type(a) is SparseArray
    assert a.tolist() == [0, 1, 1, 0, 0, 1]
    assert a.size == 6
    
    npa = np.array([0, 1, 1, 0, 0, 1], dtype=np.int8)
    assert type(a) is SparseArray
    assert a.tolist() == [0, 1, 1, 0, 0, 1]
    assert a.size == 6

    a = SparseArray.from_items([(0,1), (2,1), (4,1)], 5, 0)
    assert type(a) is SparseArray
    assert a.tolist() == [1,0,1,0,1]
    assert a.size == 5
Ejemplo n.º 3
0
    def __init__(self, data=None, refcode=0, missingcode=-1, size=None, template=None):
        self.template = template

        self.refcode = refcode

        if data is None:
            if template is None and size is None:
                raise ValueError('No template or size')
            elif template is not None and size is None:
                size = self.template.nmark()
            self.container = SparseArray(size, refcode) 
            return 

        if type(data) is SparseArray:
            raise NotImplementedError
        
        else:    
            if not isinstance(data, np.ndarray):
                data = np.array(data)
            
            self.container = SparseArray.from_dense(data, refcode)


        self.size = len(self.container)