1 回答

TA貢獻1811條經驗 獲得超4個贊
你在map中使用的函數需要返回你想要的對象。
我還將使用可用于池的更慣用的上下文管理器。
編輯:固定導入
import multiprocessing as mp
def transpose_ope(df): #this function does the transformation like I want
df_op = (df.groupby(['subject_id','readings'])['val']
.describe()
.unstack()
.swaplevel(0,1,axis=1)
.reindex(df['readings'].unique(), axis=1, level=0))
df_op.columns = df_op.columns.map('_'.join)
df_op = df_op.reset_index()
return df_op
def main():
with mp.Pool(mp.cpu_count()) as pool:
res = pool.map(transpose_ope, [df for df in dfs])
if __name__=='__main__':
main()
不知道為什么要將單個列表附加到另一個列表...但是如果您只想要 [transformed(df) for df in dfs] 的最終列表,map 只會返回該列表。
添加回答
舉報