我对Python还不熟悉。我通常用R语言写作。 我试着用python把简单的循环写成并行的。我只是卡住了,做不到。如果有人能帮助我,我会很高兴的。你知道吗
我有一连串的事情。在这些事件结束时,Y可以等于1或0。我想把那个数据帧转换成一个长数组。你知道吗
输入:
ID EventDateTime Event Y
147 03:48.8 Completed 0
147 10:28.5 Completed 0
669 58:35.7 Login 1
669 58:48.9 Login 1
669 59:58.2 Login 1
669 00:09.8 Login 1
669 13:01.1 Login 1
669 13:09.5 Login 1
669 31:15.5 Login 1
669 49:19.2 Login 1
669 44:38.6 Login 1
669 44:48.3 Login 1
669 28:51.9 Login 1
669 29:19.4 Login 1
669 33:36.3 Login 1
53 45:05.8 Completed 0
68 02:03.6 LogOut 1
68 05:52.3 Completed 1
68 08:29.4 LogOut 1
输出:
Completed
Completed
Y=0
Login
Login
Login
Login
Login
Login
Login
Login
Login
Login
Login
Login
Login
Y=1
LogOut
Completed
LogOut
Y=1
这是脚本:
PreparationData = np.array([])
for ID in Data['ID'].unique():
Events=Data.loc[(Data['ID']==str(ID))]
Events=Events.sort_values(by='EventDateTime',ascending=True)
if(Events['Y'].unique()==0):
Event=np.array(Events[['Event']])
Event=np.append(Event, 'Y=0')
PreparationData=np.append(PreparationData,Event)
else:
Event=np.array(Events[['Event']])
Event=np.append(Event, 'Y=1')
PreparationData=np.append(PreparationData,Event)
如果有人知道R和python。下面是我如何在R中编写所需内容:
doSNOW::registerDoSNOW(cl<-snow::makeCluster(4))
PreparationData<-ddply(.data = Data,
.variables = "ID",
.parallel=TRUE,
.fun = function(Events){
Events<-Events[order(Events$EventDateTime),]
if(unique(Events$Y)<=0){
return(data.frame(Events=c(Events$Event,"Y=0")))
}else{
return(data.frame(Events=c(Events$Event,"Y=1")))
}
})
snow::stopCluster(cl)
如何与python并行编写? 谢谢。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐