python pandas使用一些协程

Posted hailuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python pandas使用一些协程相关的知识,希望对你有一定的参考价值。

import pandas as pd

def coroutine(func):
	"""装饰器:向前执行到第一个`yield`表达式,预激`func`"""
	@wraps(func)
	def primer(*args,**kwargs):
		gen = func(*args,**kwargs)
		next(gen)
		return gen
	primer.__name__ = func.__name__
	primer.__dict__ = func.__dict__
	primer.__doc__  = func.__doc__
	return primer

@coroutine
def getd():
	grouped=pd.DataFrame()
	while True:
		chunk=yield grouped
		if chunk is None:
			break
		chunk[‘cishu‘]=1
		chunkgrouped=chunk.groupby(‘somekey‘,as_index=False).sum()
		newchunk=pd.concat([grouped,chunkgrouped],ignore_index=True)
		grouped=newchunk.groupby(‘somekey‘, as_index=False).sum()
	return grouped

cor=getd()
chunks=pd.read_csv(path,low_memory=False,dtype=‘object‘,chunksize=10)
for chunk in chunks:
	cor.send(chunk)
try:
	cor.send(None)
except StopIteration as exc:
	result = exc.value
	print(result)

  

以上是关于python pandas使用一些协程的主要内容,如果未能解决你的问题,请参考以下文章

text [检查特定的数据片段]取自论文但有意思应用。 #python #pandas

Python 异步,协程,学起来好头疼,Python爬虫程序能调用GPU去爬东西吗?

python 多进程,多线程,协程

pandas GroupBy上的方法apply:一般性的“拆分-应用-合并”

python [代码片段]一些有趣的代码#sort

python 协程