added filter disabled broken cells and starting spoken voice generic results
This commit is contained in:
@@ -154,10 +154,48 @@ def _():
|
||||
return
|
||||
|
||||
|
||||
@app.cell
|
||||
def _(S):
|
||||
filter_form = mo.md('''
|
||||
|
||||
|
||||
|
||||
{age}
|
||||
|
||||
{gender}
|
||||
|
||||
{ethnicity}
|
||||
|
||||
{income}
|
||||
|
||||
{consumer}
|
||||
'''
|
||||
).batch(
|
||||
age=mo.ui.multiselect(options=S.options_age, value=S.options_age, label="Select Age Group(s):"),
|
||||
gender=mo.ui.multiselect(options=S.options_gender, value=S.options_gender, label="Select Gender(s):"),
|
||||
ethnicity=mo.ui.multiselect(options=S.options_ethnicity, value=S.options_ethnicity, label="Select Ethnicities:"),
|
||||
income=mo.ui.multiselect(options=S.options_income, value=S.options_income, label="Select Income Group(s):"),
|
||||
consumer=mo.ui.multiselect(options=S.options_consumer, value=S.options_consumer, label="Select Consumer Groups:")
|
||||
).form()
|
||||
mo.md(f'''
|
||||
---
|
||||
|
||||
# Data Filter
|
||||
|
||||
{filter_form}
|
||||
''')
|
||||
return
|
||||
|
||||
|
||||
@app.cell
|
||||
def _(data_validated):
|
||||
# drop rows where 'consumer' is null
|
||||
# data = data_validated.filter(pl.col('Consumer').is_not_null())
|
||||
# mo.stop(filter_form.value is None, mo.md("**Please submit filter above to proceed**"))
|
||||
# _d = S.filter_data(data_validated, age=filter_form.value['age'], gender=filter_form.value['gender'], income=filter_form.value['income'], ethnicity=filter_form.value['ethnicity'], consumer=filter_form.value['consumer'])
|
||||
|
||||
# # Stop execution and prevent other cells from running if no data is selected
|
||||
# mo.stop(len(_d.collect()) == 0, mo.md("**No Data available for current filter combination**"))
|
||||
# data = _d
|
||||
|
||||
data = data_validated
|
||||
data.collect()
|
||||
return (data,)
|
||||
@@ -222,7 +260,7 @@ def _():
|
||||
return
|
||||
|
||||
|
||||
@app.cell
|
||||
@app.cell(disabled=True)
|
||||
def _():
|
||||
mo.md(r"""
|
||||
## Best performing: Original vs Refined frankenstein
|
||||
@@ -230,7 +268,7 @@ def _():
|
||||
return
|
||||
|
||||
|
||||
@app.cell
|
||||
@app.cell(disabled=True)
|
||||
def _(S, data):
|
||||
char_refine_rank = S.get_character_refine(data)[0]
|
||||
# print(char_rank.collect().head())
|
||||
@@ -273,7 +311,7 @@ def _(S, char_rank):
|
||||
return
|
||||
|
||||
|
||||
@app.cell
|
||||
@app.cell(disabled=True)
|
||||
def _():
|
||||
mo.md(r"""
|
||||
### Statistical Significance Character Ranking
|
||||
@@ -281,7 +319,7 @@ def _():
|
||||
return
|
||||
|
||||
|
||||
@app.cell
|
||||
@app.cell(disabled=True)
|
||||
def _(S, char_rank):
|
||||
_pairwise_df, _meta = S.compute_ranking_significance(char_rank)
|
||||
|
||||
@@ -385,10 +423,10 @@ def _(S, char_df):
|
||||
"""
|
||||
|
||||
mo.md(_content)
|
||||
return character_colors, consistent_sort_order
|
||||
return
|
||||
|
||||
|
||||
@app.cell
|
||||
@app.cell(disabled=True)
|
||||
def _():
|
||||
mo.md(r"""
|
||||
## Statistical significance best characters
|
||||
@@ -400,176 +438,6 @@ def _():
|
||||
return
|
||||
|
||||
|
||||
# @app.cell(hide_code=True)
|
||||
# def _():
|
||||
# mo.md(r"""
|
||||
# # BC per Consumer
|
||||
# """)
|
||||
# return
|
||||
|
||||
|
||||
# @app.cell
|
||||
# def _():
|
||||
# split_group = 'Consumer'
|
||||
# return (split_group,)
|
||||
|
||||
|
||||
# @app.cell
|
||||
# def _(split_group):
|
||||
# mo.md(rf"""
|
||||
# ## Character Ranking Points (per {split_group} segment)
|
||||
# """)
|
||||
# return
|
||||
|
||||
|
||||
# @app.cell
|
||||
# def _(S, data):
|
||||
# _content = ""
|
||||
# for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items():
|
||||
|
||||
# _char_rank = S.get_character_ranking(_consumer_df)[0]
|
||||
# _char_rank_weighted = calculate_weighted_ranking_scores(_char_rank)
|
||||
|
||||
# _plot = S.plot_weighted_ranking_score(
|
||||
# _char_rank_weighted,
|
||||
# title=f'Most Popular Character - Weighted Popularity Score - CONSUMER: "{_consumer_group.replace("_", " ").replace("Woth", 'Worth')}"<br>(1st=3pts, 2nd=2pts, 3rd=1pt)',
|
||||
# x_label='Voice'
|
||||
# )
|
||||
|
||||
# _content += f"""
|
||||
# {mo.ui.altair_chart(_plot)}
|
||||
|
||||
# """
|
||||
|
||||
# mo.md(_content)
|
||||
# return
|
||||
|
||||
|
||||
# @app.cell
|
||||
# def _(split_group):
|
||||
# mo.md(rf"""
|
||||
# ## Character Ranking Place 1-2-3 in one (per {split_group})
|
||||
# """)
|
||||
# return
|
||||
|
||||
|
||||
# @app.cell
|
||||
# def _(S, data):
|
||||
# _content = ""
|
||||
# for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items():
|
||||
|
||||
# _char_rank = S.get_character_ranking(_consumer_df)[0]
|
||||
|
||||
|
||||
# _plot = S.plot_top3_ranking_distribution(_char_rank, x_label='Character Personality', title='Character Personality: Rankings Top 3 - CONSUMER: "'+_consumer_group.replace("_", " ").replace("Woth", 'Worth')+'"')
|
||||
|
||||
# _content += f"""
|
||||
# {mo.ui.altair_chart(_plot)}
|
||||
|
||||
# """
|
||||
|
||||
# mo.md(_content)
|
||||
# return
|
||||
|
||||
|
||||
# @app.cell
|
||||
# def _(split_group):
|
||||
# mo.md(rf"""
|
||||
# ## Character Ranking times 1st place (per {split_group})
|
||||
# """)
|
||||
# return
|
||||
|
||||
|
||||
# @app.cell
|
||||
# def _(S, data):
|
||||
# _content = ""
|
||||
# for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items():
|
||||
|
||||
# _char_rank = S.get_character_ranking(_consumer_df)[0]
|
||||
|
||||
# _plot = S.plot_most_ranked_1(_char_rank, title=f'Most Popular Character - CONSUMER: "{_consumer_group.replace("_", " ").replace("Woth", 'Worth')}"<br>(Number of Times Ranked 1st)', x_label='Character Personality')
|
||||
|
||||
# _content += f"""
|
||||
# {mo.ui.altair_chart(_plot)}
|
||||
|
||||
# """
|
||||
|
||||
# mo.md(_content)
|
||||
# return
|
||||
|
||||
|
||||
# @app.cell
|
||||
# def _(split_group):
|
||||
# mo.md(rf"""
|
||||
# ## Predefined personality traits WordClouds per {split_group}
|
||||
# """)
|
||||
# return
|
||||
|
||||
|
||||
# @app.cell
|
||||
# def _(S, data):
|
||||
# _content = ""
|
||||
# for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items():
|
||||
# _top8_traits = S.get_top_8_traits(_consumer_df)[0]
|
||||
|
||||
# _plot = S.plot_traits_wordcloud(
|
||||
# data=_top8_traits,
|
||||
# column='Top_8_Traits',
|
||||
# title=f'Most Prominent Personality Traits - CONSUMER: "{_consumer_group.replace("_", " ").replace("Woth", "Worth")}"',
|
||||
# )
|
||||
|
||||
# _content += f"""
|
||||
# {_plot}
|
||||
|
||||
# """
|
||||
|
||||
# mo.md(_content)
|
||||
# return
|
||||
|
||||
|
||||
# @app.cell
|
||||
# def _(split_group):
|
||||
# mo.md(rf"""
|
||||
# ## Frequency traits chosen - per {split_group} segment
|
||||
# """)
|
||||
# return
|
||||
|
||||
|
||||
# @app.cell
|
||||
# def _(S, character_colors, consistent_sort_order, data):
|
||||
# top_char = "The Coach"
|
||||
|
||||
# _content = ""
|
||||
# for _consumer_group, _consumer_df in utils.split_consumer_groups(data).items():
|
||||
|
||||
# _char_df = S.get_character_refine(_consumer_df)[0]
|
||||
|
||||
# _freq_df, _ = S.transform_character_trait_frequency(_char_df, top_char)
|
||||
# _main_color, _highlight_color = character_colors[top_char]
|
||||
# _chart = S.plot_single_character_trait_frequency(
|
||||
# data=_freq_df,
|
||||
# character_name=top_char,
|
||||
# bar_color=_main_color,
|
||||
# highlight_color=_highlight_color,
|
||||
# trait_sort_order=consistent_sort_order,
|
||||
# title=f"""Top Personality Traits for '{top_char}' - CONSUMER: "{_consumer_group.replace('_', ' ').replace("Woth", "Worth")}"""
|
||||
# )
|
||||
# _content += f"""
|
||||
# {mo.ui.altair_chart(_chart)}
|
||||
|
||||
# """
|
||||
# mo.md(_content)
|
||||
# return
|
||||
|
||||
|
||||
# @app.cell
|
||||
# def _():
|
||||
# mo.md(r"""
|
||||
# # BC per Gender
|
||||
# """)
|
||||
# return
|
||||
|
||||
|
||||
@app.cell
|
||||
def _():
|
||||
return
|
||||
@@ -590,11 +458,24 @@ def _():
|
||||
return
|
||||
|
||||
|
||||
@app.cell
|
||||
def _():
|
||||
mo.md(r"""
|
||||
## 8 Most Chosen
|
||||
""")
|
||||
return
|
||||
|
||||
|
||||
@app.cell
|
||||
def _(S, data):
|
||||
top3_voices = S.get_top_3_voices(data)[0]
|
||||
top3_voices_weighted = calculate_weighted_ranking_scores(top3_voices)
|
||||
return top3_voices, top3_voices_weighted
|
||||
v_18_8_3 = S.get_18_8_3(data)[0].collect()
|
||||
return (v_18_8_3,)
|
||||
|
||||
|
||||
@app.cell
|
||||
def _(S, v_18_8_3):
|
||||
S.plot_voice_selection_counts(v_18_8_3)
|
||||
return
|
||||
|
||||
|
||||
@app.cell(hide_code=True)
|
||||
@@ -607,6 +488,13 @@ def _():
|
||||
return
|
||||
|
||||
|
||||
@app.cell
|
||||
def _(S, data):
|
||||
top3_voices = S.get_top_3_voices(data)[0]
|
||||
top3_voices_weighted = calculate_weighted_ranking_scores(top3_voices)
|
||||
return top3_voices, top3_voices_weighted
|
||||
|
||||
|
||||
@app.cell
|
||||
def _(S, top3_voices):
|
||||
_plot = S.plot_ranking_distribution(top3_voices, x_label='Voice')
|
||||
|
||||
Reference in New Issue
Block a user