我有三个数据集,我根据一些键合并了它们,我按照升序排列了'registrationdatetime'和'submissiondatetime'。然后我应用groupby将它们按“competitid”和“userhandle”分组。我还得先计算参加比赛的解算师的人数,然后再计算当前解算师的人数,我也为此写了一行字,但是
现在我必须创建一个名为priorperformanceofsolver
(在最近结束的比赛中的表现)的新列(在最近结束的比赛中当前解算器提交的分数)
我的目标是根据比赛id安排每个小组,然后应该有“userhandles”或参加比赛的人,按他们到达比赛的日期和时间升序排列,这样我就可以计算谁在比赛中排在谁之后,最后我想做一个新的列,名为priorperformanceofsolver to存储以前的性能
很抱歉,时间这么长,但我真的不知道我是对还是错,我也不知道如何使solver列的优先级
我必须为每个用户句柄搜索每个比赛,并找到他们参加的每个比赛,其中的比赛日期是最近的,他们在最近的比赛中的分数是多少,并存储在一个名为“priorperformanceofsolver”的列中,该列必须指出他们参加的最近比赛的分数。请帮助我,我卡住了,或者如果有困难,在阅读这个超长的问题,请评论,但帮助我,如果可能的话。我对Python很陌生
''
dftotal.groupby(["contestID", "userHandle"])
dftotal["registerDateTime"] = pd.to_datetime(dftotal.registerDateTime,
utc=True)
dftotal["RegistrationDateTime"] = dftotal["registerDateTime"]
dftotal["submitDateTime"] = pd.to_datetime(dftotal.submitDateTime, utc
=True)
dftotal["SubmissionDateTime"] = dftotal["submitDateTime"]
dftotal.sort_values(by=['RegistrationDateTime'])
dftotal.sort_values(by = ["SubmissionDateTime"])
dftotal['priorcountofentrants'] =
dftotal.groupby(['contestID']).cumcount()
''
Data -
contstID userHndle RegistrtnDteTime SubmssnDtTme priorcntofentrnts finalScore
6638 holo 2012-01-0921:45:20 2012-03-1020:45:20 0 100
6638 kolo 2012-01-0922:45:20 2012-03-1023:45:20 1 50
8878 holo 2011-01-0921:45:20 2011-01-1020:45:20 0 100
8878 kolo 2011-01-0922:45:20 2011-01-1023:45:20 1 100
expected -
contstID userHndle RegstrtnDteTme SubmsnDtTm prircntofentrnts finalScore
priorperformce
6638 holo 2012-01-0921:45:20 2012-01-1020:45:20 0 100 100
6638 kolo 2012-01-0922:45:20 2012-01-1023:45:20 0 50 100
所以在这里kolo和holo有他们的分数从以前的比赛(最近结束的日期)显示在他们的名字旁边,即从比赛8878他们得分100和50,所以它显示在他们的名字旁边在新的比赛6638,然后它发生类似的比赛8878,它必须搜索解算器的先前表现
目前没有回答
相关问题 更多 >
编程相关推荐