forked from takahiro/analyze_lab_placement_survey
corrected GPA to GP
This commit is contained in:
@@ -16,11 +16,11 @@ def z2a(s):
|
||||
|
||||
def extract_values_from_body(body):
|
||||
"""
|
||||
研究室ごとの回答本文から GPA 値を取り出す。
|
||||
研究室ごとの回答本文から GP 値を取り出す。
|
||||
|
||||
- 「値 カウント」表がある場合は表を優先
|
||||
- 表がない場合は 1 行 1 回答として読む
|
||||
- 「編入生」は GPA としては読まない
|
||||
- 「編入生」は GP としては読まない
|
||||
- 「365(修正済)」のような値にも対応
|
||||
"""
|
||||
|
||||
@@ -156,7 +156,7 @@ def parse_google_form_results(text):
|
||||
|
||||
|
||||
def summarize_by_lab(df):
|
||||
"""研究室ごとの在校生数・編入生数・GPA平均・標準偏差を計算する。"""
|
||||
"""研究室ごとの在校生数・編入生数・GP平均・標準偏差を計算する。"""
|
||||
|
||||
rows = []
|
||||
|
||||
@@ -170,8 +170,8 @@ def summarize_by_lab(df):
|
||||
"研究室": lab_no,
|
||||
"在校生": df_regular.shape[0],
|
||||
"編入生": df_lab.shape[0] - df_regular.shape[0],
|
||||
"GPA mean": df_regular["値"].mean(),
|
||||
"GPA std": df_regular["値"].std(),
|
||||
"GP mean": df_regular["値"].mean(),
|
||||
"GP std": df_regular["値"].std(),
|
||||
})
|
||||
|
||||
return pd.DataFrame(rows).set_index("研究室")
|
||||
@@ -184,14 +184,14 @@ def print_summary(df, df_r):
|
||||
f"{'研究室':>6} "
|
||||
f"{'在校生':>6} "
|
||||
f"{'編入生':>6} "
|
||||
f"{'GPA mean':>10} "
|
||||
f"{'GPA std':>10}"
|
||||
f"{'GP mean':>10} "
|
||||
f"{'GP std':>10}"
|
||||
)
|
||||
print("-" * 52)
|
||||
|
||||
for n, row in df_r.iterrows():
|
||||
mean = "-" if pd.isna(row["GPA mean"]) else f"{row['GPA mean']:.1f}"
|
||||
std = "-" if pd.isna(row["GPA std"]) else f"{row['GPA std']:.1f}"
|
||||
mean = "-" if pd.isna(row["GP mean"]) else f"{row['GP mean']:.1f}"
|
||||
std = "-" if pd.isna(row["GP std"]) else f"{row['GP std']:.1f}"
|
||||
|
||||
print(
|
||||
f"{n:>6} "
|
||||
@@ -204,7 +204,7 @@ def print_summary(df, df_r):
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Google Forms のコピペ結果から研究室別 GPA を集計する"
|
||||
description="Google Forms のコピペ結果から研究室別GPを集計する"
|
||||
)
|
||||
parser.add_argument("googleform_str", help="Google Forms からコピーしたテキストファイル")
|
||||
parser.add_argument(
|
||||
|
||||
Reference in New Issue
Block a user