import streamlit as st from PIL import Image, ImageDraw, ImageFont # Set page configuration st.set_page_config(page_title="Data Analysis Roadmap", layout="centered") # Title and description st.title("Roadmap for Data Analysis with Python") st.write(""" This roadmap guides you through the essential steps and tools for mastering data analysis with Python. Each step builds upon the previous one to develop your skills progressively. """) # Define the sequence of topics topics = [ "Statistics", "Numpy", "Pandas", "Matplotlib", "Seaborn", "Plotly", "Graph Visualization" ] # Create a roadmap visualization def create_roadmap_image(topics): # Image dimensions width, height = 800, 600 # Box dimensions box_width, box_height = 200, 80 # Gap between boxes gap = 20 # Create a blank image with white background img = Image.new("RGB", (width, height), "white") draw = ImageDraw.Draw(img) # Load a font try: font = ImageFont.truetype("arial.ttf", 16) except IOError: font = ImageFont.load_default() # Calculate starting positions start_x = (width - box_width) // 2 start_y = 50 # Draw boxes with topics for i, topic in enumerate(topics): box_x = start_x box_y = start_y + i * (box_height + gap) draw.rectangle( [box_x, box_y, box_x + box_width, box_y + box_height], outline="black", width=2 ) text_width, text_height = draw.textbbox((0, 0), topic, font=font)[2:] text_x = box_x + (box_width - text_width) // 2 text_y = box_y + (box_height - text_height) // 2 draw.text((text_x, text_y), topic, fill="black", font=font) return img # Create and display the roadmap image roadmap_image = create_roadmap_image(topics) st.image(roadmap_image, caption="Roadmap for Data Analysis with Python", use_column_width=True) # Provide detailed content for each topic st.header("Detailed Roadmap") st.subheader("1. Statistics") st.write(""" Statistics is the foundation of data analysis. Learn descriptive statistics, probability, distributions, hypothesis testing, and regression analysis. """) st.subheader("2. Numpy") st.write(""" NumPy is the fundamental package for numerical computation in Python. It provides support for arrays, matrices, and many mathematical functions. """) st.subheader("3. Pandas") st.write(""" Pandas is a powerful library for data manipulation and analysis. It provides data structures like DataFrames, which allow you to handle and analyze structured data efficiently. """) st.subheader("4. Matplotlib") st.write(""" Matplotlib is a plotting library that provides tools to create static, animated, and interactive visualizations in Python. """) st.subheader("5. Seaborn") st.write(""" Seaborn is built on top of Matplotlib and provides a high-level interface for drawing attractive and informative statistical graphics. """) st.subheader("6. Plotly") st.write(""" Plotly is a graphing library that makes interactive, publication-quality graphs online. It supports many types of charts and visualizations. """) st.subheader("7. Graph Visualization") st.write(""" Graph visualization involves the representation of data as nodes and edges. Libraries like NetworkX and Graphviz help in visualizing complex networks and relationships. """) # Footer st.write("---") st.write("Created by [Your Name] - A Roadmap to Becoming a Data Analysis Expert with Python")