我正在尝试读取pandas数据帧并执行某些操作并返回数据帧。我还希望对操作进行多处理,以利用我的系统拥有的多个内核。
import pandas as pd
import re
from jug import TaskGenerator
@TaskGenerator
def find_replace(input_path_find):
start_time = time.clock()
df_find = pd.read_csv(input_path_find)
df_find.currentTitle=df_find.currentTitle.str.replace(r"[^a-zA-Z0-9`~!|@#%&_}={:\"\];<>,./. -]",r'')
#extra space
df_find.currentTitle=df_find.currentTitle.str.replace('\s+', ' ')
#length
df_find['currentTitle_sort'] = df_find.currentTitle.str.len()
#sort
df_find = df_find.sort_values(by='currentTitle_sort',ascending=0)
#reindx
df_find.reset_index(drop=True,inplace=True)
del df_find['currentTitle_sort']
return df_find
当我传递我想要处理的CSV文件参数时
df_returned = find_replace('C:\\Users\\Dell\\Downloads\\Find_Replace_in_this_v1.csv')
我得到一些奇怪的输出
find_replace
Task(__main__.find_replace, args=('C:\\Users\\Dell\\Downloads\\Find_Replace_in_this_v1.csv',), kwargs={})
In [ ]:
有任何帮助吗?我基本上想要保存函数
的输出我已经检查了答案但它没有用。另外,我使用的是pythono 2.7和anaconda IDE Pandas memoization
答案 0 :(得分:0)
这是对jug如何运作的误解。
您获得的结果确实是一个Task
对象,您可以运行它:df_returned.run()
。
但是,通常情况下,您可以将此脚本保存到文件(例如analysis.py
)并调用jug execute analysis.py
来执行任务。