Analysing geography, soil, climate, and yield data to find where crops thrive in Maji Ndogo — groundwork for a farming automation initiative.
# 🌱 Maji Ndogo Agricultural Analysis
### Integrated Project — ALX Data Analytics Programme
> Exploratory data analysis to identify optimal crop-growing conditions across five provinces of Maji Ndogo, as groundwork for an agricultural automation initiative.
---
## 📌 Project Overview
Maji Ndogo is an ambitious farming automation project. Before any technology can be deployed, the right decisions need to be made about **where** to plant **what**. This analysis answers exactly that — using survey data from 5,654 fields across five provinces, covering geography, weather, soil chemistry, and crop performance.
The work involves loading data from a multi-table SQLite database, cleaning it, and running structured analyses to surface the conditions under which each crop performs best.
---
## 📁 Repository Structure
```
ALX-solutions/
│
├── app.py # Streamlit interactive dashboard
├── Code_challenge_Integrated_Project_P1_student_version.ipynb # Main analysis notebook
├── Clean-coding-with-PEP-8.ipynb # PEP 8 coding standards exercise
├── Introduction_to_NumPy_Exercise.ipynb # NumPy fundamentals exercise
├── Maji_Ndogo_farm_survey_small.db # SQLite database (4 tables, 5,654 fields)
├── pyproject.toml # Project dependencies (uv)
├── uv.lock # Locked dependency versions
├── commands.txt # Useful dev commands reference
├── .gitignore
└── README.md
```
---
## 🗄️ Database Schema
The database contains four tables, all joined on `Field_ID`:
| Table | Key Columns | Description |
|---|---|---|
| `geographic_features` | Elevation, Latitude, Longitude, Location, Slope | Where each field is located |
| `weather_features` | Rainfall, Min/Max/Ave temperat …