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


Python DataArray.setcolumn方法代码示例

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


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

示例1: calc_probabilities

# 需要导入模块: from openamos.core.data_array import DataArray [as 别名]
# 或者: from openamos.core.data_array.DataArray import setcolumn [as 别名]
    def calc_probabilities(self, data, choiceset):
        """
        The method returns the selection probability associated with the
        the different choices.

        Inputs:
        data - DataArray object
        choiceset - DataArray object
        """
        exp_expected_utilities = self.calc_exp_choice_utilities(
            data, choiceset)

        # missing_choices = choiceset.varnames

        #spec_dict = self.specification.specification
        for parent in self.parent_list:
            child_names = self.specification.child_names(parent)

            # calculating the sum of utilities across children in a branch
            util_sum = 0
            for child in child_names:
                # For utils with missing values they are converted to zero
                # before summing the utils across choices in a parent
                # to avoid the case where missing + valid = missing
                child_column = exp_expected_utilities.column(child)
                child_column = child_column.filled(0)
                util_sum = util_sum + child_column

            # calculating the probability of children in a branch
            for child in child_names:
                exp_expected_utilities.setcolumn(child,
                                                 exp_expected_utilities.column(child) / util_sum)

            # Dummy check to ensure that within any branch the probs add to one
            prob_sum = 0
            for child in child_names:
                prob_sum = prob_sum + exp_expected_utilities.column(child)

        for choice in self.specification.actual_choices:
            parent_names = self.specification.all_parent_names(choice)
            for parent in parent_names:
                parent_column = exp_expected_utilities.column(parent)
                choice_column = exp_expected_utilities.column(choice)
                exp_expected_utilities.setcolumn(choice, choice_column *
                                                 parent_column)

        self.specification.actual_choices.sort()
        rows = exp_expected_utilities.rows
        cols = len(self.specification.actual_choices)
        probabilities = DataArray(zeros((rows, cols)),
                                                self.specification.actual_choices, 
                                                data.index)

        for choice in self.specification.actual_choices:
            probabilities.setcolumn(
                choice, exp_expected_utilities.column(choice))

        return probabilities
开发者ID:foss-transportationmodeling,项目名称:simtravel,代码行数:60,代码来源:nested_logit_choice_model.py

示例2: update_houseids

# 需要导入模块: from openamos.core.data_array import DataArray [as 别名]
# 或者: from openamos.core.data_array.DataArray import setcolumn [as 别名]
    def update_houseids(self, hhldSyn, persSyn, hhldVars, persVars, highestHid):

	hhldSynDataObj = DataArray(hhldSyn, hhldVars)
        persSynDataObj = DataArray(persSyn, persVars)

	
	maxFreqCol = amax(hhldSynDataObj.columns(['frequency']).data)
	powFreqCol = floor(log(maxFreqCol, 10)) + 1

	coefficients = {'frequency':1, 'hhid':10**powFreqCol}

	newHid = hhldSynDataObj.calculate_equation(coefficients)
	hhldSynDataObj.setcolumn('hhid', newHid)

	newHid = persSynDataObj.calculate_equation(coefficients)
	persSynDataObj.setcolumn('hhid', newHid)


	hhldSynDataObj.sort([self.idSpec.hidName])
	persSynDataObj.sort([self.idSpec.hidName, self.idSpec.pidName])

	hidIndex_popgenH = hhldVars.index('hhid')
	hidIndex_popgenP = persVars.index('hhid')

        self.create_indices(persSynDataObj)

	hhldSyn = hhldSynDataObj.data
	persSyn = persSynDataObj.data

	row = 0
        for hhldIndex in self.hhldIndicesOfPersons:

            firstPersonRec = hhldIndex[1]
            lastPersonRec = hhldIndex[2]

	    #print hhldIndex[0], highestHid + 1, firstPersonRec, lastPersonRec

	    hhldSyn[row,hidIndex_popgenH] = highestHid + 1
	    persSyn[firstPersonRec:lastPersonRec,hidIndex_popgenP] = highestHid + 1

	    highestHid += 1
	    row += 1

	return hhldSyn, persSyn
开发者ID:foss-transportationmodeling,项目名称:simtravel,代码行数:46,代码来源:immigration.py


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