Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
kihoon.lee
Lotte-LogicKor
Commits
4bcbf563
Commit
4bcbf563
authored
Sep 30, 2024
by
Liky98
Browse files
categories 동적 설정으로 변경
parent
dc0d2966
Changes
1
Hide whitespace changes
Inline
Side-by-side
merge_results.py
View file @
4bcbf563
...
...
@@ -2,6 +2,7 @@ import os
import
pandas
as
pd
from
openpyxl.styles
import
Font
,
Alignment
from
openpyxl.utils
import
get_column_letter
def
collect_combined_scores
(
evaluated_dir
):
"""
evaluated_dir 내의 모든 combined_scores.xlsx 파일을 검색하여 리스트로 반환합니다.
...
...
@@ -13,6 +14,17 @@ def collect_combined_scores(evaluated_dir):
combined_scores_files
.
append
(
os
.
path
.
join
(
root
,
file
))
return
combined_scores_files
def
get_categories_from_file
(
file_path
):
"""
주어진 엑셀 파일에서 카테고리(인덱스)를 추출합니다.
"""
try
:
df
=
pd
.
read_excel
(
file_path
,
index_col
=
0
)
return
df
.
index
.
tolist
()
except
Exception
as
e
:
print
(
f
"Error reading categories from
{
file_path
}
:
{
e
}
"
)
return
[]
def
extract_model_name
(
file_path
):
"""
파일 경로에서 모델 이름을 추출합니다.
...
...
@@ -74,7 +86,6 @@ def create_score_sheets(combined_scores_files, categories, score_types):
return
score_sheets
def
save_to_excel
(
score_sheets
,
output_file
):
"""
딕셔너리에 저장된 데이터프레임을 각 시트로 저장하여 엑셀 파일로 저장합니다.
...
...
@@ -107,7 +118,6 @@ def save_to_excel(score_sheets, output_file):
# 인덱스 열 너비 조정
max_length
=
max
(
df
.
index
.
astype
(
str
).
map
(
len
).
max
(),
len
(
df
.
index
.
name
)
if
df
.
index
.
name
else
0
)
+
2
worksheet
.
column_dimensions
[
get_column_letter
(
1
)].
width
=
max_length
print
(
f
"모든 스코어가 '
{
output_file
}
' 파일에 저장되었습니다."
)
...
...
@@ -124,7 +134,13 @@ def main():
print
(
f
"Found
{
len
(
combined_scores_files
)
}
'combined_scores.xlsx' files."
)
# 2. 컬럼과 행 정의
# 2. 첫 번째 파일에서 카테고리 추출
categories
=
get_categories_from_file
(
combined_scores_files
[
0
])
if
not
categories
:
print
(
"Failed to extract categories from the first file."
)
return
# 3. 스코어 유형 정의
score_types
=
[
'cot_1_shot_single_score'
,
'cot_1_shot_multi_score'
,
...
...
@@ -135,36 +151,11 @@ def main():
'lotte_single_turn'
]
categories
=
[
'글쓰기(Writing)'
,
'문법(Grammar)'
,
'수학(Math)'
,
'이해(Understanding)'
,
'추론(Reasoning)'
,
'코딩(Coding)'
,
'lotte_qa'
,
'meeting_summary'
,
'mrc'
,
'mrc_summary'
,
'review_summary'
,
'search_keyword'
,
'search_summary'
,
'task_assistant_hire'
,
'task_assistant_mail_introduce'
,
'task_assistant_mail_meeting'
,
'task_assistant_mail_pr'
,
'task_assistant_mail_share'
,
'text2sql'
,
'sql2text'
,
'text2sql_dart'
,
# 'sql2text_dart'
]
# 3. 데이터 수집 및 시트 생성
# 4. 데이터 수집 및 시트 생성
score_sheets
=
create_score_sheets
(
combined_scores_files
,
categories
,
score_types
)
#
4
. 엑셀 파일로 저장
#
5
. 엑셀 파일로 저장
save_to_excel
(
score_sheets
,
output_file
)
if
__name__
==
"__main__"
:
main
()
main
()
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment