python 二维元祖关联合并 返回列表

来源:互联网 发布:万维网域名续费 编辑:程序博客网 时间:2024/05/17 23:08
# -*- coding: utf-8 -*-import pandas as pdimport numpy as npimport loggingimport tracebackclass concat_tuples_to_list():    def __init__(self):        pass    # tuples = {tuple1, tuple2}    # headers = {header1, header2}    def concat_datasrcset(self,tuples, headers, condkey):        result = {}        try:            if not tuples and not headers:                result = {'errorcode':-1, 'errortext':'tuples or headers is not invalid'}                return result            header1 = headers['header1']            header2 = headers['header2']            if (condkey not in header1) and (condkey not in header2):                result['errorcode'] = -1                result['errortext'] = '%s is not in %s' % (condkey, headers)                return result            list1 = list(tuples['tuple1'])            list2 = list(tuples['tuple2'])            list1[:] = [list(t) for t in list1]            list2[:] = [list(t) for t in list2]            df1 = pd.DataFrame(list1, columns=header1)            df2 = pd.DataFrame(list2, columns=header2)            #合并二维列表            df3 = pd.merge(df1, df2, how='left', on=condkey)            df3 = df3.where(df3.notnull(), None)            train_data = np.array(df3)            result['datasrcset'] = train_data.tolist()            result['errorcode'] = 0            return result        except Exception, ex:            result['errorcode'] = -1            result['errortext'] = '%s_%s:%s' % (traceback.print_exc(), Exception, ex)            logging.error(result)            return result
原创粉丝点击