Lets plot the sex ratio we are finding in funestus.
# Create sex distribution figure for Anopheles funestus using px
funestus_data = df_morpho[df_morpho['morph_id'] == 'anopheles_funestus']
sex_count = funestus_data['mosquito_sex'].value_counts().reset_index()
sex_count.columns = ['Sex', 'Count']
fig_sex = px.pie(
sex_count,
values='Count',
names='Sex',
title='Sex Distribution of Anopheles funestus',
color='Sex',
color_discrete_map={'female': 'pink', 'male': 'blue'},
template='simple_white'
)
fig_sex.show()
Loading...
And show some summary statistics:
# Statistical summary of the data
summary_stats = {
'Total mosquitoes': len(df_morpho),
'Number of households': df_morpho['initialise-household-id'].nunique(),
'Number of collectors': df_morpho['initialise-collector'].nunique(),
'Collection date range': f"{df_morpho['initialise-date_collected'].min().date()} to {df_morpho['initialise-date_collected'].max().date()}",
'Species distribution': dict(df_morpho['morph_id'].value_counts()),
'Overall sex distribution': dict(df_morpho['mosquito_sex'].value_counts()),
'Anopheles funestus sex distribution': dict(funestus_data['mosquito_sex'].value_counts())
}
print("\nSummary Statistics:\n")
for key, value in summary_stats.items():
print(f"{key}: {value}")
Summary Statistics:
Total mosquitoes: 983
Number of households: 177
Number of collectors: 6
Collection date range: 2025-02-25 to 2025-03-12
Species distribution: {'anopheles_funestus': np.int64(906), 'anopheles_coustani': np.int64(47), 'anopheles_gambiae_sl': np.int64(20), 'other': np.int64(10)}
Overall sex distribution: {'female': np.int64(673), 'male': np.int64(310)}
Anopheles funestus sex distribution: {'female': np.int64(602), 'male': np.int64(304)}