(meta, actual)
| 386 | |
| 387 | |
| 388 | def check_matching_columns(meta, actual): |
| 389 | from dask.dataframe import methods |
| 390 | |
| 391 | # Need nan_to_num otherwise nan comparison gives False |
| 392 | if not np.array_equal(np.nan_to_num(meta.columns), np.nan_to_num(actual.columns)): |
| 393 | extra = methods.tolist(actual.columns.difference(meta.columns)) |
| 394 | missing = methods.tolist(meta.columns.difference(actual.columns)) |
| 395 | if extra or missing: |
| 396 | extra_info = f" Extra: {extra}\n Missing: {missing}" |
| 397 | else: |
| 398 | extra_info = ( |
| 399 | f"Order of columns does not match." |
| 400 | f"\nActual: {actual.columns.tolist()}" |
| 401 | f"\nExpected: {meta.columns.tolist()}" |
| 402 | ) |
| 403 | raise ValueError( |
| 404 | "The columns in the computed data do not match" |
| 405 | " the columns in the provided metadata.\n" |
| 406 | f"{extra_info}" |
| 407 | ) |
| 408 | |
| 409 | |
| 410 | def index_summary(idx, name=None): |
no outgoing calls
searching dependent graphs…