Upload app.py
Browse files
app.py
CHANGED
|
@@ -172,21 +172,21 @@ def build_cleaned_from_indices(df: pd.DataFrame,
|
|
| 172 |
for c in cleaned.columns:
|
| 173 |
if c not in ("NAME", "ID"):
|
| 174 |
cleaned[c] = cleaned[c].apply(parse_rank).astype("Int64")
|
| 175 |
-
|
| 176 |
-
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
|
| 180 |
-
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
|
| 186 |
-
cleaned = cleaned.reset_index(drop=True)
|
| 187 |
return cleaned
|
| 188 |
|
| 189 |
|
|
|
|
| 190 |
def max_rank_in(cleaned: pd.DataFrame) -> int:
|
| 191 |
wards = [w for w in cleaned.columns if w not in ("NAME", "ID")]
|
| 192 |
mr = 0
|
|
|
|
| 172 |
for c in cleaned.columns:
|
| 173 |
if c not in ("NAME", "ID"):
|
| 174 |
cleaned[c] = cleaned[c].apply(parse_rank).astype("Int64")
|
| 175 |
+
# Sort โดยใช้เฉพาะตัวเลขจาก ID
|
| 176 |
+
digits = cleaned["ID"].astype(str).str.extract(r"(\d+)", expand=False)
|
| 177 |
+
num_id = pd.to_numeric(digits, errors="coerce")
|
| 178 |
+
|
| 179 |
+
cleaned = (
|
| 180 |
+
cleaned.assign(_num_id=num_id)
|
| 181 |
+
.sort_values(by="_num_id", kind="mergesort", na_position="last")
|
| 182 |
+
.drop(columns="_num_id")
|
| 183 |
+
.reset_index(drop=True)
|
| 184 |
+
)
|
| 185 |
|
|
|
|
| 186 |
return cleaned
|
| 187 |
|
| 188 |
|
| 189 |
+
|
| 190 |
def max_rank_in(cleaned: pd.DataFrame) -> int:
|
| 191 |
wards = [w for w in cleaned.columns if w not in ("NAME", "ID")]
|
| 192 |
mr = 0
|