code: def as_labelarray(initial_dtype, missing_value, array):
      """
      Curried wrapper around LabelArray, that round-trips the input data through
      `initial_dtype` first.
      """
      return LabelArray(
          array.astype(initial_dtype),
          missing_value=initial_dtype.type(missing_value),
      )
  
imports: from collections import namedtuple
  from itertools import chain, product
  from string import ascii_lowercase, ascii_uppercase
  from textwrap import dedent
  from unittest import TestCase
  from nose_parameterized import parameterized
  from numpy import arange, array, asarray, dtype, full
  from six.moves import zip_longest
  from toolz import curry
  from zipline.errors import WindowLengthNotPositive, WindowLengthTooLong
  from zipline.lib.adjustment import Boolean1DArrayOverwrite, BooleanOverwrite, Datetime641DArrayOverwrite, Datetime64Overwrite, Float641DArrayOverwrite, Float64Multiply, Float64Overwrite, Int64Overwrite, Object1DArrayOverwrite, ObjectOverwrite
  from zipline.lib.adjusted_array import AdjustedArray
  from zipline.lib.labelarray import LabelArray
  from zipline.testing import check_arrays
  from zipline.testing.predicates import assert_equal
  from zipline.utils.compat import unicode
  from zipline.utils.numpy_utils import coerce_to_dtype, datetime64ns_dtype, default_missing_value_for_dtype, bool_dtype, float64_dtype, int64_dtype, object_dtype
label_desc: Use image node_id 5 for calling a global function with example usage: as_labelarray(initial_dtype, missing_value, array) and returns: LabelArray