예제 #1
0
 def sf(cls) -> None:
     f1 = sf.FrameGO(index=cls._index)
     for col in range(100):
         s = sf.Series.from_element(col * .1,
                                    index=cls._index[col:col + 20])
         f1[col] = s
     assert f1.sum().sum() == 9900.0
예제 #2
0
def get_sample_frame_mixed_string_index(
        size: int = 10000,
        columns: int = 100) -> tp.Tuple[pd.DataFrame, sf.FrameGO, np.ndarray]:
    '''Get frames with mixed types.
    '''
    # produces 14950 strings
    source_ids = list(''.join(x)
                      for x in it.combinations(string.ascii_lowercase, 4))
    assert size <= len(source_ids)

    index = source_ids[:size]
    cols = source_ids[:columns]

    dtypes = (float, int, object, bool)

    sff = sf.FrameGO(index=index)
    for idx, col in enumerate(cols):
        s = sf.Series(_typed_array(dtypes[idx % 4], size=size, shift=idx),
                      index=index)
        sff[col] = s

    npf = sff.values

    pdf = pd.DataFrame(index=index)
    for idx, col in enumerate(cols):
        s = pd.Series(_typed_array(dtypes[idx % 4], size=size, shift=idx),
                      index=index)
        pdf[col] = s

    return pdf, sff, npf
예제 #3
0
    def test_frame_iter_tuple_d(self) -> None:
        f = sf.FrameGO(index=IndexDate.from_date_range('2020-01-01', '2020-01-03'))
        post = list(f.iter_tuple(constructor=tuple, axis=0))
        self.assertEqual(post, [])

        post = list(f.iter_tuple(axis=1))
        self.assertEqual([len(x) for x in post], [0, 0, 0])
예제 #4
0
 def sf(cls) -> None:
     index = sf.IndexHierarchy.from_product(list(string.ascii_lowercase),
                                            list(string.ascii_lowercase))
     f1 = sf.FrameGO(index=index)
     for col in range(100):
         s = sf.Series.from_element(col * .1, index=index[col:col + 6])  #pylint: disable=E1136
         f1[col] = s
     assert f1.sum().sum() == 2970.0
예제 #5
0
 def sf(cls):
     index = sf.IndexHierarchy.from_product(list(string.ascii_lowercase),
                                            list(string.ascii_lowercase))
     f1 = sf.FrameGO(index=index)
     for col in range(100):
         s = sf.Series(col * .1, index=index[col:col + 6])
         f1[col] = s
     assert f1.sum().sum() == 2970.0
예제 #6
0
    def test_frame_iter_array_g(self) -> None:

        f = sf.FrameGO(index=IndexDate.from_date_range('2020-01-01', '2020-01-03'))
        post = list(f.iter_array(axis=0))
        self.assertEqual(post, [])

        post = list(f.iter_array(axis=1))
        self.assertEqual([x.tolist() for x in post], [[], [], []])
def _get_frame() -> sf.Frame:
    f = sf.FrameGO(index=np.arange(SHAPE[0]))
    # >>> columns = tuple('abcdef')
    for i in range(SHAPE[1]):
        f[i] = np.arange(SHAPE[0])
    return f