當前位置: 首頁>>代碼示例>>Python>>正文


Python MA.masked_array方法代碼示例

本文整理匯總了Python中MA.masked_array方法的典型用法代碼示例。如果您正苦於以下問題:Python MA.masked_array方法的具體用法?Python MA.masked_array怎麽用?Python MA.masked_array使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在MA的用法示例。


在下文中一共展示了MA.masked_array方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: _getMaskedArray

# 需要導入模塊: import MA [as 別名]
# 或者: from MA import masked_array [as 別名]
    def _getMaskedArray(self, var, flagVar=None, flagValues=(0, 1), missingValuesToTest=(-9999.0, -32767.0)):
        """
        Returns a masked array that has the values only present where the flag
        values are acceptable and the data itself is not missing.
        """
        if flagVar:
            flagFillValue = -1
            flagGTValue = max(flagValues)

            flagMaskWhereUnacceptable = MA.masked_greater(flagVar, flagGTValue).mask()
            flagMaskWhereMissing = MA.masked_equal(flagVar, flagFillValue).mask()
            flagMask = flagMaskWhereUnacceptable + flagMaskWhereMissing

        for fv in missingValuesToTest:
            if fv in MV.ravel(var):
                print "Setting missing value for '%s' as: %s" % (var.id, fv)
                varFillValue = fv
        else:
            varFillValue = missingValuesToTest[0]

        if flagVar:
            varMask = MA.masked_array(var, mask=MA.equal(var, varFillValue), fill_value=varFillValue).mask()
            fullmask = MA.bitwise_or(varMask, flagMask)
            maskedArray = MA.masked_array(var, mask=fullmask, fill_value=varFillValue)
        else:
            maskedArray = MA.masked_array(var, mask=MA.equal(var, varFillValue), fill_value=varFillValue)

        # maskedArray=cdms.createVariable(maskedArray, id=var.id, fill_value=varFillValue)
        # maskedArray.missing_value=varFillValue
        return maskedArray
開發者ID:eufarn7sp,項目名稱:egads-eufar,代碼行數:32,代碼來源:aircraftData.py

示例2: _subSampleByAveraging

# 需要導入模塊: import MA [as 別名]
# 或者: from MA import masked_array [as 別名]
    def _subSampleByAveraging(self, var, timeVar, flagVar, samplingRate, flagsToUse):
        """
        Returns a new variable which is 'var' sub-sampled by averaging
        at the given samplingRate with data selected according to flagVar
        including the flag values specified in flagsToUse (defaults are 0 and 1).
        """
        maskedArray = self._getMaskedArray(var, flagVar, flagsToUse)
        shape = var.shape
        if shape[1] == 1:
            newNumArray = MV.ravel(maskedArray)
            newArrayMask = MV.ravel(maskedArray.mask())
            newArray = MA.masked_array(newNumArray, mask=newArrayMask, fill_value=maskedArray.fill_value())
        else:
            newArray = Numeric.zeros(shape[0], "f")
            for t0 in range(shape[0]):
                # Set as missing if less than half are valid
                t1Array = maskedArray[t0]

                if samplingRate == 1:
                    # If half or more are good values then calculate the mean
                    if t1Array.count() >= (shape[1] / 2.0):
                        newArray[t0] = MA.average(t1Array)
                    # otherwise set as missing value
                    else:
                        newArray[t0] = maskedArray.fill_value()

                else:
                    raise "Averaging for non 1Hz sampling rates not yet supported!"

        # Now re-construct variable axes etc
        newTimeAxis = self._flatten2DTimeAxis(timeVar, samplingRate)
        newVar = self._recreateVariable(
            var,
            newArray,
            newTimeAxis,
            flagVar,
            max(flagsToUse),
            missingValue=maskedArray.fill_value(),
            sampleBy="averaging",
        )
        return newVar
開發者ID:eufarn7sp,項目名稱:egads-eufar,代碼行數:43,代碼來源:aircraftData.py


注:本文中的MA.masked_array方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。