fix: pivot col names in post_process (#16262)

This commit is contained in:
Beto Dealmeida 2021-08-16 08:16:42 -07:00 committed by GitHub
parent 0668eaad6a
commit 542b864e61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 10 deletions

View File

@ -72,15 +72,15 @@ def pivot_table(df: pd.DataFrame, form_data: Dict[str, Any]) -> pd.DataFrame:
margins=form_data.get("pivot_margins"),
)
# Re-order the columns adhering to the metric ordering.
df = df[metrics]
# Display metrics side by side with each column
if form_data.get("combine_metric"):
df = df.stack(0).unstack().reindex(level=-1, columns=metrics)
# flatten column names
df.columns = [" ".join(column) for column in df.columns]
df.columns = [
" ".join(str(name) for name in column) if isinstance(column, tuple) else column
for column in df.columns
]
return df
@ -144,9 +144,9 @@ def pivot_table_v2( # pylint: disable=too-many-branches
# The pandas `pivot_table` method either brings both row/column
# totals, or none at all. We pass `margin=True` to get both, and
# remove any dimension that was not requests.
if not form_data.get("rowTotals"):
if columns and not form_data.get("rowTotals"):
df.drop(df.columns[len(df.columns) - 1], axis=1, inplace=True)
if not form_data.get("colTotals"):
if groupby and not form_data.get("colTotals"):
df = df[:-1]
# Compute fractions, if needed. If `colTotals` or `rowTotals` are
@ -169,15 +169,15 @@ def pivot_table_v2( # pylint: disable=too-many-branches
if form_data.get("rowTotals"):
df *= 2
# Re-order the columns adhering to the metric ordering.
df = df[metrics]
# Display metrics side by side with each column
if form_data.get("combineMetric"):
df = df.stack(0).unstack().reindex(level=-1, columns=metrics)
# flatten column names
df.columns = [" ".join(str(name) for name in column) for column in df.columns]
df.columns = [
" ".join(str(name) for name in column) if isinstance(column, tuple) else column
for column in df.columns
]
return df