<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def weld_align(df_index_arrays, df_index_weld_types, series_index_arrays, series_index_weld_types, series_data, series_weld_type):
 """Returns the data from the Series aligned to the DataFrame index. Parameters df_index_arrays : list of (numpy.ndarray or WeldObject) The index columns as a list. df_index_weld_types : list of WeldType series_index_arrays : numpy.ndarray or WeldObject The index of the Series. series_index_weld_types : list of WeldType series_data : numpy.ndarray or WeldObject The data of the Series. series_weld_type : WeldType Returns ------- WeldObject Representation of this computation. """

    weld_obj_index_df = weld_arrays_to_vec_of_struct(df_index_arrays, df_index_weld_types)
    weld_obj_series_dict = weld_data_to_dict(series_index_arrays,
                                             series_index_weld_types,
                                             series_data,
                                             series_weld_type)

    weld_obj = create_empty_weld_object()
    df_index_obj_id = get_weld_obj_id(weld_obj, weld_obj_index_df)
    series_dict_obj_id = get_weld_obj_id(weld_obj, weld_obj_series_dict)

    index_type = struct_of('{e}', df_index_weld_types)
    missing_literal = default_missing_data_literal(series_weld_type)
    if series_weld_type == WeldVec(WeldChar()):
        missing_literal = get_weld_obj_id(weld_obj, missing_literal)

    weld_template = """result(
    for({df_index},
        appender[{data_type}],
        |b: appender[{data_type}], i: i64, e: {index_type}|
            if(keyexists({series_dict}, e),
                merge(b, lookup({series_dict}, e)),
                merge(b, {missing})
            )
    )
)"""

    weld_obj.weld_code = weld_template.format(series_dict=series_dict_obj_id,
                                              df_index=df_index_obj_id,
                                              index_type=index_type,
                                              data_type=series_weld_type,
                                              missing=missing_literal)

    return weld_obj