added filter disabled broken cells and starting spoken voice generic results
This commit is contained in:
@@ -154,10 +154,48 @@ def _():
|
|||||||
return
|
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
|
@app.cell
|
||||||
def _(data_validated):
|
def _(data_validated):
|
||||||
# drop rows where 'consumer' is null
|
# mo.stop(filter_form.value is None, mo.md("**Please submit filter above to proceed**"))
|
||||||
# data = data_validated.filter(pl.col('Consumer').is_not_null())
|
# _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 = data_validated
|
||||||
data.collect()
|
data.collect()
|
||||||
return (data,)
|
return (data,)
|
||||||
@@ -222,7 +260,7 @@ def _():
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@app.cell
|
@app.cell(disabled=True)
|
||||||
def _():
|
def _():
|
||||||
mo.md(r"""
|
mo.md(r"""
|
||||||
## Best performing: Original vs Refined frankenstein
|
## Best performing: Original vs Refined frankenstein
|
||||||
@@ -230,7 +268,7 @@ def _():
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@app.cell
|
@app.cell(disabled=True)
|
||||||
def _(S, data):
|
def _(S, data):
|
||||||
char_refine_rank = S.get_character_refine(data)[0]
|
char_refine_rank = S.get_character_refine(data)[0]
|
||||||
# print(char_rank.collect().head())
|
# print(char_rank.collect().head())
|
||||||
@@ -273,7 +311,7 @@ def _(S, char_rank):
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@app.cell
|
@app.cell(disabled=True)
|
||||||
def _():
|
def _():
|
||||||
mo.md(r"""
|
mo.md(r"""
|
||||||
### Statistical Significance Character Ranking
|
### Statistical Significance Character Ranking
|
||||||
@@ -281,7 +319,7 @@ def _():
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@app.cell
|
@app.cell(disabled=True)
|
||||||
def _(S, char_rank):
|
def _(S, char_rank):
|
||||||
_pairwise_df, _meta = S.compute_ranking_significance(char_rank)
|
_pairwise_df, _meta = S.compute_ranking_significance(char_rank)
|
||||||
|
|
||||||
@@ -385,10 +423,10 @@ def _(S, char_df):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
mo.md(_content)
|
mo.md(_content)
|
||||||
return character_colors, consistent_sort_order
|
return
|
||||||
|
|
||||||
|
|
||||||
@app.cell
|
@app.cell(disabled=True)
|
||||||
def _():
|
def _():
|
||||||
mo.md(r"""
|
mo.md(r"""
|
||||||
## Statistical significance best characters
|
## Statistical significance best characters
|
||||||
@@ -400,176 +438,6 @@ def _():
|
|||||||
return
|
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
|
@app.cell
|
||||||
def _():
|
def _():
|
||||||
return
|
return
|
||||||
@@ -590,11 +458,24 @@ def _():
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
@app.cell
|
||||||
|
def _():
|
||||||
|
mo.md(r"""
|
||||||
|
## 8 Most Chosen
|
||||||
|
""")
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
@app.cell
|
@app.cell
|
||||||
def _(S, data):
|
def _(S, data):
|
||||||
top3_voices = S.get_top_3_voices(data)[0]
|
v_18_8_3 = S.get_18_8_3(data)[0].collect()
|
||||||
top3_voices_weighted = calculate_weighted_ranking_scores(top3_voices)
|
return (v_18_8_3,)
|
||||||
return top3_voices, top3_voices_weighted
|
|
||||||
|
|
||||||
|
@app.cell
|
||||||
|
def _(S, v_18_8_3):
|
||||||
|
S.plot_voice_selection_counts(v_18_8_3)
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
@app.cell(hide_code=True)
|
@app.cell(hide_code=True)
|
||||||
@@ -607,6 +488,13 @@ def _():
|
|||||||
return
|
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
|
@app.cell
|
||||||
def _(S, top3_voices):
|
def _(S, top3_voices):
|
||||||
_plot = S.plot_ranking_distribution(top3_voices, x_label='Voice')
|
_plot = S.plot_ranking_distribution(top3_voices, x_label='Voice')
|
||||||
|
|||||||
Reference in New Issue
Block a user