本文整理匯總了Python中itertools.imap方法的典型用法代碼示例。如果您正苦於以下問題:Python itertools.imap方法的具體用法?Python itertools.imap怎麽用?Python itertools.imap使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類itertools
的用法示例。
在下文中一共展示了itertools.imap方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: iglob
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def iglob(self, pathname, with_matches=False, include_hidden=False, recursive=True,
norm_paths=True, case_sensitive=True, sep=None):
"""Return an iterator which yields the paths matching a pathname
pattern.
The pattern may contain simple shell-style wildcards a la
fnmatch. However, unlike fnmatch, filenames starting with a
dot are special cases that are not matched by '*' and '?'
patterns.
If ``with_matches`` is True, then for each matching path
a 2-tuple will be returned; the second element if the tuple
will be a list of the parts of the path that matched the individual
wildcards.
If ``include_hidden`` is True, then files and folders starting with
a dot are also returned.
"""
result = self._iglob(pathname, True, include_hidden,
norm_paths, case_sensitive, sep)
if with_matches:
return result
return imap(lambda s: s[0], result)
示例2: multiplySeries
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def multiplySeries(requestContext, *seriesLists):
"""
Takes two or more series and multiplies their points. A constant may not be
used. To multiply by a constant, use the scale() function.
Example:
.. code-block:: none
&target=multiplySeries(Series.dividends,Series.divisors)
"""
yield defer.succeed(None)
(seriesList, start, end, step) = normalize(seriesLists)
if len(seriesList) == 1:
returnValue(seriesList)
name = "multiplySeries(%s)" % ','.join([s.name for s in seriesList])
product = imap(lambda x: safeMul(*x), izip(*seriesList))
resultSeries = TimeSeries(name, start, end, step, product)
resultSeries.pathExpression = name
returnValue([resultSeries])
示例3: check_date_fields
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def check_date_fields(rows, col_names, tablename, fname):
'''Ensure date fields are the in the correct YYYYMMDD format before adding them to the SQL table'''
def check_date_cols(row):
if tablename == "calendar":
date_cols = ["start_date", "end_date"]
elif tablename == "calendar_dates":
date_cols = ["date"]
date_column_idxs = [col_names.index(x) for x in date_cols]
for idx in date_column_idxs:
date = row[idx]
try:
datetime.datetime.strptime(date, '%Y%m%d')
except ValueError:
msg ='Column "' + col_names[idx] + '" in file ' + fname + ' has an invalid value: ' + date + '. \
Date fields must be in YYYYMMDD format. Please check the date field formatting in calendar.txt and calendar_dates.txt.'
arcpy.AddError(msg)
raise BBB_SharedFunctions.CustomError
return row
if ispy3:
return map(check_date_cols, rows)
else:
return itertools.imap(check_date_cols, rows)
示例4: check_date_fields
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def check_date_fields(rows, col_names, tablename, fname):
'''Ensure date fields are the in the correct YYYYMMDD format before adding them to the SQL table'''
def check_date_cols(row):
if tablename == "calendar":
date_cols = ["start_date", "end_date"]
elif tablename == "calendar_dates":
date_cols = ["date"]
date_column_idxs = [col_names.index(x) for x in date_cols]
for idx in date_column_idxs:
date = row[idx]
try:
datetime.datetime.strptime(date, '%Y%m%d')
except ValueError:
msg = u'Column "' + col_names[idx] + u'" in file ' + fname + u' has an invalid value: ' + date + u'. \
Date fields must be in YYYYMMDD format. Please check the date field formatting in calendar.txt and calendar_dates.txt.'
Errors_To_Return.append(msg)
raise CustomError
return row
return itertools.imap(check_date_cols, rows)
示例5: _createFromRDD
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def _createFromRDD(self, rdd, schema, samplingRatio):
"""
Create an RDD for DataFrame from an existing RDD, returns the RDD and schema.
"""
if schema is None or isinstance(schema, (list, tuple)):
struct = self._inferSchema(rdd, samplingRatio, names=schema)
converter = _create_converter(struct)
rdd = rdd.map(converter)
if isinstance(schema, (list, tuple)):
for i, name in enumerate(schema):
struct.fields[i].name = name
struct.names[i] = name
schema = struct
elif not isinstance(schema, StructType):
raise TypeError("schema should be StructType or list or None, but got: %s" % schema)
# convert python objects to sql data
rdd = rdd.map(schema.toInternal)
return rdd, schema
示例6: _createFromLocal
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def _createFromLocal(self, data, schema):
"""
Create an RDD for DataFrame from a list or pandas.DataFrame, returns
the RDD and schema.
"""
# make sure data could consumed multiple times
if not isinstance(data, list):
data = list(data)
if schema is None or isinstance(schema, (list, tuple)):
struct = self._inferSchemaFromList(data, names=schema)
converter = _create_converter(struct)
data = map(converter, data)
if isinstance(schema, (list, tuple)):
for i, name in enumerate(schema):
struct.fields[i].name = name
struct.names[i] = name
schema = struct
elif not isinstance(schema, StructType):
raise TypeError("schema should be StructType or list or None, but got: %s" % schema)
# convert python objects to sql data
data = [schema.toInternal(row) for row in data]
return self._sc.parallelize(data), schema
示例7: updateSpots
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def updateSpots(self, dataSet=None):
if dataSet is None:
dataSet = self.data
invalidate = False
if self.opts['pxMode']:
mask = np.equal(dataSet['sourceRect'], None)
if np.any(mask):
invalidate = True
opts = self.getSpotOpts(dataSet[mask])
sourceRect = self.fragmentAtlas.getSymbolCoords(opts)
dataSet['sourceRect'][mask] = sourceRect
self.fragmentAtlas.getAtlas() # generate atlas so source widths are available.
dataSet['width'] = np.array(list(imap(QtCore.QRectF.width, dataSet['sourceRect'])))/2
dataSet['targetRect'] = None
self._maxSpotPxWidth = self.fragmentAtlas.max_width
else:
self._maxSpotWidth = 0
self._maxSpotPxWidth = 0
self.measureSpotSizes(dataSet)
if invalidate:
self.invalidate()
示例8: imap
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def imap(self, func, iterable, chunksize=1):
'''
Equivalent of `itertools.imap()` -- can be MUCH slower than `Pool.map()`
'''
assert self._state == RUN
if chunksize == 1:
result = IMapIterator(self._cache)
self._taskqueue.put((((result._job, i, func, (x,), {})
for i, x in enumerate(iterable)), result._set_length))
return result
else:
assert chunksize > 1
task_batches = Pool._get_tasks(func, iterable, chunksize)
result = IMapIterator(self._cache)
self._taskqueue.put((((result._job, i, mapstar, (x,), {})
for i, x in enumerate(task_batches)), result._set_length))
return (item for chunk in result for item in chunk)
示例9: imap_unordered
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def imap_unordered(self, func, iterable, chunksize=1):
'''
Like `imap()` method but ordering of results is arbitrary
'''
assert self._state == RUN
if chunksize == 1:
result = IMapUnorderedIterator(self._cache)
self._taskqueue.put((((result._job, i, func, (x,), {})
for i, x in enumerate(iterable)), result._set_length))
return result
else:
assert chunksize > 1
task_batches = Pool._get_tasks(func, iterable, chunksize)
result = IMapUnorderedIterator(self._cache)
self._taskqueue.put((((result._job, i, mapstar, (x,), {})
for i, x in enumerate(task_batches)), result._set_length))
return (item for chunk in result for item in chunk)
示例10: safestr
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def safestr(obj, encoding='utf-8'):
r"""
Converts any given object to utf-8 encoded string.
>>> safestr('hello')
'hello'
>>> safestr(u'\u1234')
'\xe1\x88\xb4'
>>> safestr(2)
'2'
"""
if isinstance(obj, unicode):
return obj.encode(encoding)
elif isinstance(obj, str):
return obj
elif hasattr(obj, 'next'): # iterator
return itertools.imap(safestr, obj)
else:
return str(obj)
# for backward-compatibility
示例11: list_distinct
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def list_distinct(c, field, query=[]):
if field not in _SEARCH_FIELDS:
raise LookupError('Invalid search field: %s' % field)
sql = """
SELECT DISTINCT %s AS field
FROM search
WHERE field IS NOT NULL
""" % field
terms = []
params = []
for key, value in query:
if key == 'any':
terms.append('? IN (%s)' % ','.join(_SEARCH_FIELDS))
elif key in _SEARCH_FIELDS:
terms.append('%s = ?' % key)
else:
raise LookupError('Invalid search field: %s' % key)
params.append(value)
if terms:
sql += ' AND ' + ' AND '.join(terms)
logger.debug('SQLite list query %r: %s', params, sql)
return itertools.imap(operator.itemgetter(0), c.execute(sql, params))
示例12: simplified
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def simplified(self, bytes, aggresive = False):
output_size = self.output_size
ignore_range = self.ignore_range
bsize = self.bsize
total_size = len(bytes)
size = (total_size/bsize) / output_size
buf = []
reduce_errors = self.reduce_errors
# Adjust the output to the desired output size
for c in xrange(0, output_size):
tmp = bytes[c*size:(c*size+1)+bsize]
ret = sum(imap(ord, tmp)) % 255
if reduce_errors:
if ret != 255 and ret != 0:
buf.append(chr(ret))
else:
buf.append(chr(ret))
buf = "".join(buf)
return base64.b64encode(buf).strip("=")[:output_size]
示例13: _fast_hash
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def _fast_hash(self, bytes, aggresive = False):
i = -1
ret = set()
output_size = self.output_size
size = len(bytes) *1.00 / output_size
bsize = self.bsize
radd = ret.add
while i < output_size:
i += 1
buf = bytes[i*bsize:(i+1)*bsize]
char = sum(imap(ord, buf)) % 255
if self.reduce_errors:
if char != 255 and char != 0:
radd(chr(char))
else:
radd(chr(char))
ret = "".join(ret)
return base64.b64encode(ret).strip("=")[:output_size]
示例14: safestr
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def safestr(obj, encoding='utf-8'):
r"""
Converts any given object to utf-8 encoded string.
>>> safestr('hello')
'hello'
>>> safestr(u'\u1234')
'\xe1\x88\xb4'
>>> safestr(2)
'2'
"""
if isinstance(obj, unicode):
return obj.encode(encoding)
elif isinstance(obj, str):
return obj
elif hasattr(obj, 'next'): # iterator
return itertools.imap(safestr, obj)
else:
return str(obj)
# for backward-compatibility
示例15: dictionary
# 需要導入模塊: import itertools [as 別名]
# 或者: from itertools import imap [as 別名]
def dictionary(files='rotokas.dic', include_header=False) :
"""
Deprecated: use C{ToolboxData.parse()}
@param files: One or more toolbox files to be processed
@type files: L{string} or L{tuple(string)}
@param include_header: treat header as entry?
@type include_header: boolean
@rtype: iterator over L{dict}
"""
return imap(dict, raw(files, include_header))