Format values inclut le formatage des distances
This commit is contained in:
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
import polars as pl
|
import polars as pl
|
||||||
from dash import dash_table, html
|
from dash import dash_table, html
|
||||||
|
|
||||||
from utils import add_links_in_dict, format_montant, setup_table_columns
|
from utils import add_links_in_dict, format_values, setup_table_columns
|
||||||
|
|
||||||
|
|
||||||
def get_top_org_table(data, org_type: str):
|
def get_top_org_table(data, org_type: str):
|
||||||
@@ -16,7 +16,7 @@ def get_top_org_table(data, org_type: str):
|
|||||||
dff_nb = dff_nb.sort(by="montant", descending=True)
|
dff_nb = dff_nb.sort(by="montant", descending=True)
|
||||||
dff_nb = dff_nb.cast(pl.String)
|
dff_nb = dff_nb.cast(pl.String)
|
||||||
dff_nb = dff_nb.fill_null("")
|
dff_nb = dff_nb.fill_null("")
|
||||||
dff_nb = format_montant(dff_nb, column="montant")
|
dff_nb = format_values(dff_nb)
|
||||||
columns, tooltip = setup_table_columns(
|
columns, tooltip = setup_table_columns(
|
||||||
dff_nb, hideable=False, exclude=[f"{org_type}_id"]
|
dff_nb, hideable=False, exclude=[f"{org_type}_id"]
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ from src.figures import point_on_map
|
|||||||
from src.utils import (
|
from src.utils import (
|
||||||
add_links_in_dict,
|
add_links_in_dict,
|
||||||
df,
|
df,
|
||||||
format_montant,
|
|
||||||
format_number,
|
format_number,
|
||||||
|
format_values,
|
||||||
get_annuaire_data,
|
get_annuaire_data,
|
||||||
get_departement_region,
|
get_departement_region,
|
||||||
meta_content,
|
meta_content,
|
||||||
@@ -215,8 +215,7 @@ def get_last_marches_table(data) -> html.Div:
|
|||||||
return html.Div(html.P("Aucun marché trouvé."))
|
return html.Div(html.P("Aucun marché trouvé."))
|
||||||
dff = dff.cast(pl.String)
|
dff = dff.cast(pl.String)
|
||||||
dff = dff.fill_null("")
|
dff = dff.fill_null("")
|
||||||
print("1", dff.columns)
|
dff = format_values(dff)
|
||||||
dff = format_montant(dff)
|
|
||||||
columns, tooltip = setup_table_columns(
|
columns, tooltip = setup_table_columns(
|
||||||
dff,
|
dff,
|
||||||
hideable=False,
|
hideable=False,
|
||||||
|
|||||||
+2
-2
@@ -4,7 +4,7 @@ import polars as pl
|
|||||||
from dash import Input, Output, callback, dcc, html, register_page
|
from dash import Input, Output, callback, dcc, html, register_page
|
||||||
from polars import selectors as cs
|
from polars import selectors as cs
|
||||||
|
|
||||||
from src.utils import data_schema, df, format_montant, meta_content
|
from src.utils import data_schema, df, format_values, meta_content
|
||||||
|
|
||||||
register_page(
|
register_page(
|
||||||
__name__,
|
__name__,
|
||||||
@@ -75,7 +75,7 @@ def get_marche_data(url) -> tuple[dict, list]:
|
|||||||
|
|
||||||
# Données du marché
|
# Données du marché
|
||||||
dff_marche = lff.unique("uid").collect(engine="streaming")
|
dff_marche = lff.unique("uid").collect(engine="streaming")
|
||||||
dff_marche = format_montant(dff_marche)
|
dff_marche = format_values(dff_marche)
|
||||||
|
|
||||||
return dff_marche.to_dicts()[0], dff_titulaires.to_dicts()
|
return dff_marche.to_dicts()[0], dff_titulaires.to_dicts()
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ from src.utils import (
|
|||||||
add_resource_link,
|
add_resource_link,
|
||||||
df,
|
df,
|
||||||
filter_table_data,
|
filter_table_data,
|
||||||
format_montant,
|
|
||||||
format_number,
|
format_number,
|
||||||
|
format_values,
|
||||||
get_default_hidden_columns,
|
get_default_hidden_columns,
|
||||||
meta_content,
|
meta_content,
|
||||||
setup_table_columns,
|
setup_table_columns,
|
||||||
@@ -208,7 +208,7 @@ def update_table(page_current, page_size, filter_query, sort_by, data_timestamp)
|
|||||||
dff = add_resource_link(dff)
|
dff = add_resource_link(dff)
|
||||||
|
|
||||||
# Formatage des montants
|
# Formatage des montants
|
||||||
dff = format_montant(dff)
|
dff = format_values(dff)
|
||||||
|
|
||||||
columns, tooltip = setup_table_columns(dff)
|
columns, tooltip = setup_table_columns(dff)
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ from src.figures import point_on_map
|
|||||||
from src.utils import (
|
from src.utils import (
|
||||||
add_links_in_dict,
|
add_links_in_dict,
|
||||||
df,
|
df,
|
||||||
format_montant,
|
|
||||||
format_number,
|
format_number,
|
||||||
|
format_values,
|
||||||
get_annuaire_data,
|
get_annuaire_data,
|
||||||
get_departement_region,
|
get_departement_region,
|
||||||
meta_content,
|
meta_content,
|
||||||
@@ -227,7 +227,7 @@ def get_last_marches_table(data) -> html.Div:
|
|||||||
dff = pl.DataFrame(data)
|
dff = pl.DataFrame(data)
|
||||||
dff = dff.cast(pl.String)
|
dff = dff.cast(pl.String)
|
||||||
dff = dff.fill_null("")
|
dff = dff.fill_null("")
|
||||||
dff = format_montant(dff)
|
dff = format_values(dff)
|
||||||
columns, tooltip = setup_table_columns(
|
columns, tooltip = setup_table_columns(
|
||||||
dff, hideable=False, exclude=["acheteur_id", "id"]
|
dff, hideable=False, exclude=["acheteur_id", "id"]
|
||||||
)
|
)
|
||||||
|
|||||||
+13
-4
@@ -125,8 +125,8 @@ def format_number(number) -> str:
|
|||||||
return number
|
return number
|
||||||
|
|
||||||
|
|
||||||
def format_montant(dff: pl.DataFrame, column: str = "montant") -> pl.DataFrame:
|
def format_values(dff: pl.DataFrame) -> pl.DataFrame:
|
||||||
def format_function(expr, scale=None):
|
def format_montant(expr, scale=None):
|
||||||
# https://stackoverflow.com/a/78636786
|
# https://stackoverflow.com/a/78636786
|
||||||
expr = expr.cast(pl.String)
|
expr = expr.cast(pl.String)
|
||||||
expr = expr.str.splitn(".", 2)
|
expr = expr.str.splitn(".", 2)
|
||||||
@@ -156,8 +156,17 @@ def format_montant(dff: pl.DataFrame, column: str = "montant") -> pl.DataFrame:
|
|||||||
|
|
||||||
return montant
|
return montant
|
||||||
|
|
||||||
print("3", dff.columns)
|
def format_distance(expr):
|
||||||
dff = dff.with_columns(pl.col(column).pipe(format_function).alias(column))
|
expr = expr.cast(pl.String)
|
||||||
|
return pl.concat_str(expr, pl.lit(" km"))
|
||||||
|
|
||||||
|
if "montant" in dff.columns:
|
||||||
|
dff = dff.with_columns(pl.col("montant").pipe(format_montant).alias("montant"))
|
||||||
|
if "distance" in dff.columns:
|
||||||
|
dff = dff.with_columns(
|
||||||
|
pl.col("distance").pipe(format_distance).alias("distance")
|
||||||
|
)
|
||||||
|
|
||||||
return dff
|
return dff
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user