我有以下代码:
counter = 0
for assignid in tqdm(selectedTests['assignids'].unique()):
selectedTestsForAssignID = selectedTests[selectedTests['assignids']==assignid]
for memberid in selectedTestsForAssignID['memberid'].unique():
selectedTestsPivotCorrectTemp = selectedTestsForAssignID[selectedTestsForAssignID['memberid']==memberid].pivot_table(index=['memberid'],
columns=['col1', 'col2'],
values='col3', aggfunc=np.max)
if counter == 0:
selectedTestsPivotCorrect = selectedTestsPivotCorrectTemp
else:
selectedTestsPivotCorrect = pd.concat([selectedTestsPivotCorrect, selectedTestsPivotCorrectTemp], axis=0, join='outer')
counter = counter + 1
memberidselectedTestsPivotCorrectassignidsassignidmemberidsmemberid
即使此代码可以正常运行,但运行速度也很慢。运行需要超过1.5个小时。我感觉这可以以更加有效的方式完成,但是我不知道如何做。
memberid
assignids
memberid['col1','col2']col3
任何使该代码运行更快的建议都受到高度赞赏。
TIA。