当前位置: 首页>>代码示例>>Python>>正文


Python LabelArray.map方法代码示例

本文整理汇总了Python中zipline.lib.labelarray.LabelArray.map方法的典型用法代码示例。如果您正苦于以下问题:Python LabelArray.map方法的具体用法?Python LabelArray.map怎么用?Python LabelArray.map使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在zipline.lib.labelarray.LabelArray的用法示例。


在下文中一共展示了LabelArray.map方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_map_can_only_return_none_if_missing_value_is_none

# 需要导入模块: from zipline.lib.labelarray import LabelArray [as 别名]
# 或者: from zipline.lib.labelarray.LabelArray import map [as 别名]
    def test_map_can_only_return_none_if_missing_value_is_none(self):

        # Should work.
        la = LabelArray(self.strs, missing_value=None)
        result = la.map(lambda x: None)

        check_arrays(
            result,
            LabelArray(np.full_like(self.strs, None), missing_value=None),
        )

        la = LabelArray(self.strs, missing_value="__MISSING__")
        with self.assertRaises(TypeError):
            la.map(lambda x: None)
开发者ID:quantopian,项目名称:zipline,代码行数:16,代码来源:test_labelarray.py

示例2: test_map_ignores_missing_value

# 需要导入模块: from zipline.lib.labelarray import LabelArray [as 别名]
# 或者: from zipline.lib.labelarray.LabelArray import map [as 别名]
    def test_map_ignores_missing_value(self, missing):
        data = np.array([missing, 'B', 'C'], dtype=object)
        la = LabelArray(data, missing_value=missing)

        def increment_char(c):
            return chr(ord(c) + 1)

        result = la.map(increment_char)
        expected = LabelArray([missing, 'C', 'D'], missing_value=missing)
        assert_equal(result.as_string_array(), expected.as_string_array())
开发者ID:quantopian,项目名称:zipline,代码行数:12,代码来源:test_labelarray.py

示例3: test_map

# 需要导入模块: from zipline.lib.labelarray import LabelArray [as 别名]
# 或者: from zipline.lib.labelarray.LabelArray import map [as 别名]
    def test_map(self, f):
        data = np.array(
            [['E', 'GHIJ', 'HIJKLMNOP', 'DEFGHIJ'],
             ['CDE', 'ABCDEFGHIJKLMNOPQ', 'DEFGHIJKLMNOPQRS', 'ABCDEFGHIJK'],
             ['DEFGHIJKLMNOPQR', 'DEFGHI', 'DEFGHIJ', 'FGHIJK'],
             ['EFGHIJKLM', 'EFGHIJKLMNOPQRS', 'ABCDEFGHI', 'DEFGHIJ']],
            dtype=object,
        )
        la = LabelArray(data, missing_value=None)

        numpy_transformed = np.vectorize(f)(data)
        la_transformed = la.map(f).as_string_array()

        assert_equal(numpy_transformed, la_transformed)
开发者ID:quantopian,项目名称:zipline,代码行数:16,代码来源:test_labelarray.py

示例4: test_map_never_increases_code_storage_size

# 需要导入模块: from zipline.lib.labelarray import LabelArray [as 别名]
# 或者: from zipline.lib.labelarray.LabelArray import map [as 别名]
    def test_map_never_increases_code_storage_size(self):
        # This tests a pathological case where a user maps an impure function
        # that returns a different label on every invocation, which in a naive
        # implementation could cause us to need to **increase** the size of our
        # codes after a map.
        #
        # This doesn't happen, however, because we guarantee that the user's
        # mapping function will be called on each unique category exactly once,
        # which means we can never increase the number of categories in the
        # LabelArray after mapping.

        # Using all but one of the categories so that we still fit in a uint8
        # with an extra category for None as a missing value.
        categories = self.create_categories(8, plus_one=False)[:-1]

        larger_categories = self.create_categories(16, plus_one=False)

        # Double the length of the categories so that we have to increase the
        # required size after our map.
        categories_twice = categories + categories

        arr = LabelArray(categories_twice, missing_value=None)
        assert_equal(arr.itemsize, 1)

        gen_unique_categories = iter(larger_categories)

        def new_string_every_time(c):
            # Return a new unique category every time so that every result is
            # different.
            return next(gen_unique_categories)

        result = arr.map(new_string_every_time)

        # Result should still be of size 1.
        assert_equal(result.itemsize, 1)

        # Result should be the first `len(categories)` entries from the larger
        # categories, repeated twice.
        expected = LabelArray(
            larger_categories[:len(categories)] * 2,
            missing_value=None,
        )
        assert_equal(result.as_string_array(), expected.as_string_array())
开发者ID:quantopian,项目名称:zipline,代码行数:45,代码来源:test_labelarray.py

示例5: test_map_shrinks_code_storage_if_possible

# 需要导入模块: from zipline.lib.labelarray import LabelArray [as 别名]
# 或者: from zipline.lib.labelarray.LabelArray import map [as 别名]
    def test_map_shrinks_code_storage_if_possible(self):
        arr = LabelArray(
            # Drop the last value so we fit in a uint16 with None as a missing
            # value.
            self.create_categories(16, plus_one=False)[:-1],
            missing_value=None,
        )

        self.assertEqual(arr.itemsize, 2)

        def either_A_or_B(s):
            return ('A', 'B')[sum(ord(c) for c in s) % 2]

        result = arr.map(either_A_or_B)

        self.assertEqual(set(result.categories), {'A', 'B', None})
        self.assertEqual(result.itemsize, 1)

        assert_equal(
            np.vectorize(either_A_or_B)(arr.as_string_array()),
            result.as_string_array(),
        )
开发者ID:quantopian,项目名称:zipline,代码行数:24,代码来源:test_labelarray.py

示例6: test_map_requires_f_to_return_a_string_or_none

# 需要导入模块: from zipline.lib.labelarray import LabelArray [as 别名]
# 或者: from zipline.lib.labelarray.LabelArray import map [as 别名]
    def test_map_requires_f_to_return_a_string_or_none(self, f):
        la = LabelArray(self.strs, missing_value=None)

        with self.assertRaises(TypeError):
            la.map(f)
开发者ID:quantopian,项目名称:zipline,代码行数:7,代码来源:test_labelarray.py


注:本文中的zipline.lib.labelarray.LabelArray.map方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。