def _gen_summary(self, col_width=50):
pd.set_option('display.max_colwidth', -1)
song_name = '<p style="color:{0};">{1}</p>'.format(attr_color[self.live.attr], self.live.name)
df_head = pd.DataFrame({'Song Name': [song_name]})
df_head['Difficulty'] = self.live.difficulty
df_head['Score'] = int(self.global_status['cum_score'])
df_head['Cover Rate'] = '{0:.2f}%'.format(100*(self.simul_result['timing_sec'] <= self.simul_result['judge_end_time']).mean())
df_head['Max Combo'] = self.simul_result['combo'].max()
for accr in accuracy_list:
df_head[accr] = self.global_status['note_stat'][accr]
card = ['<img src="{0}" width={1} />'.format(icon_path(card.card_id, card.idolized), col_width) for card in self.card_list]
summary, keys = [], ['base_score', 'score', 'hp', 'judge', 'weak_judge']
for i in range(len(card)):
temp = {k:getattr(self.skill_tracker[i], 'cum_'+k) for k in keys}
temp['card'] = card[i]
summary.append(temp)
df = pd.DataFrame(summary, columns=['card']+keys)
df = df.append(pd.DataFrame(df.sum()).transpose())
df['base_score'] = df['base_score'].apply(lambda x: '<p>{0}</p>'.format(int(x)))
df['score'] = df['score'].apply(lambda x: '<p>{0}</p>'.format(int(x)))
df['hp'] = df['hp'].apply(lambda x: '<p>{0}</p>'.format(int(x)))
df['judge'] = df['judge'].apply(lambda x: '<p>{0}</p>'.format(round(x,1)))
df['weak_judge'] = df['weak_judge'].apply(lambda x: '<p>{0}</p>'.format(round(x,1)))
df.index = ['<p>{0}</p>'.format(x) for x in ['L1', 'L2', 'L3', 'L4', 'C', 'R4', 'R3', 'R2', 'R1', 'Total']]
df.loc['<p>Total</p>', 'card'] = ''
html_code = df_head.to_html(escape=False, index=False) + df.transpose().to_html(escape=False)
return HTML(html_code)
评论列表
文章目录