Spaces:
Sleeping
Sleeping
| 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") | |