in src/dfcx_scrapi/tools/datastore_evaluator.py [0:0]
def count_barplot(self, column_name: str):
results = []
for result in self.evaluation_results:
responses = result.scrape_outputs["query_result"].apply(
lambda x: x.to_row())
responses = pd.DataFrame(
responses.to_list(), index=result.scrape_outputs.index
)
results.append(
pd.concat(
[result.scrape_outputs, responses, result.metric_outputs],
axis=1
)
)
results = pd.concat(results)
results = results.set_index(["agent_display_name", "evaluation_timestamp"])
grouped_counts = (
results[column_name]
.groupby(level=["agent_display_name", "evaluation_timestamp"])
.value_counts()
.unstack(fill_value=0)
)
grouped_counts.plot(kind="bar")
plt.xlabel("Name")
plt.ylabel("Count")
plt.xticks(rotation=15)
plt.title(f"{column_name} counts by name")
plt.legend(title=column_name)
plt.show()