Update pages/RoadMap.py

#8
by ManiTeja13 - opened
Files changed (1) hide show
  1. pages/RoadMap.py +227 -121
pages/RoadMap.py CHANGED
@@ -1,140 +1,246 @@
1
  import streamlit as st
2
 
3
- # Custom CSS to change the background color and add 3D arrows
4
  st.markdown("""
5
  <style>
6
  .main {
7
- background-color: #f0f2f6;
8
  }
9
- .separator {
10
- border-top: 3px solid #bbb;
 
 
 
 
 
11
  margin-top: 20px;
12
- margin-bottom: 20px;
13
  }
14
  .content {
15
  color: #333333;
 
 
 
 
 
 
 
16
  }
17
- .arrow {
18
- font-size: 24px;
19
- text-align: center;
20
- margin-top: -10px;
21
- margin-bottom: -10px;
 
 
 
 
 
 
 
22
  }
23
- .center-image {
24
- display: block;
25
- margin-left: auto;
26
- margin-right: auto;
27
- width: 50%;
 
 
 
 
 
 
28
  }
29
  </style>
30
  """, unsafe_allow_html=True)
31
 
32
- # Initialize session state
33
- if 'open_expander' not in st.session_state:
34
- st.session_state.open_expander = None
35
-
36
  # Page title
37
  st.title("Data Analysis Roadmap")
38
 
39
- # Centered Image
40
- st.image("images/data_analysis.png", use_column_width='always', output_format='PNG')
41
-
42
- # Introduction
43
- st.header("Introduction")
44
- st.markdown("<div class='content'>This roadmap is designed for individuals with a basic understanding of Data Analysis. "
45
- "It outlines the key topics and tools essential for advancing your skills in data analysis.</div>", unsafe_allow_html=True)
46
-
47
- # Helper function to add images with 3D arrows
48
- def add_skill_section(title, image_path, description, key):
49
- if st.session_state.open_expander == key:
50
- with st.expander(title, expanded=True):
51
- st.image(image_path, width=100)
52
- st.markdown(f"<div class='content'>{description}</div>", unsafe_allow_html=True)
53
- st.session_state.open_expander = key
54
- else:
55
- with st.expander(title):
56
- if st.button("Expand", key=key):
57
- st.session_state.open_expander = key
58
- st.experimental_rerun()
59
-
60
- #st.markdown('<div class="arrow">⬇️</div>', unsafe_allow_html=True)
61
-
62
- # Excel Section
63
- add_skill_section("Excel", "images/excel_logo.png", """
64
- Excel is a powerful tool for data manipulation and visualization. It's widely used due to its accessibility and robust features.
65
-
66
- **Skills:**
67
- - **Data Cleaning**: Removing errors and inconsistencies to ensure data quality.
68
- - *Example*: Cleaning a sales dataset to remove duplicates.
69
- - **Data Visualization**: Creating charts and graphs to represent data visually.
70
- - *Example*: Visualizing sales trends over time with line charts.
71
- - **Pivot Tables**: Summarizing data for easy analysis.
72
- - *Example*: Summarizing sales by region and product.
73
- - **Formulas and Functions**: Automating calculations and data manipulation.
74
- - *Example*: Using VLOOKUP to combine data from multiple sheets.
75
- - **Data Analysis Toolpak**: Advanced statistical analysis.
76
- - *Example*: Running regression analysis on marketing data.
77
- """, key="excel")
78
-
79
- # SQL Section
80
- add_skill_section("SQL", "images/sql_logo.png", """
81
- SQL is essential for querying and managing databases. It's used to extract, manipulate, and analyze data stored in relational databases.
82
-
83
- **Skills:**
84
- - **Basic Queries (SELECT, INSERT, UPDATE, DELETE)**: Retrieving and modifying data.
85
- - *Example*: Fetching customer information from a database.
86
- - **Joins (INNER, LEFT, RIGHT, FULL)**: Combining data from multiple tables.
87
- - *Example*: Joining customer and order tables to get complete order details.
88
- - **Aggregations (GROUP BY, HAVING)**: Summarizing data.
89
- - *Example*: Calculating total sales per region.
90
- - **Subqueries and CTEs**: Writing complex queries.
91
- - *Example*: Finding customers with orders above a certain amount.
92
- - **Indexing and Optimization**: Improving query performance.
93
- - *Example*: Adding an index to speed up search queries.
94
- """, key="sql")
95
-
96
- # Python Section
97
- add_skill_section("Data Analysis Python", "images/python_logo.png", """
98
- Python is a versatile language used for data analysis, offering powerful libraries for various data-related tasks.
99
-
100
- **Skills:**
101
- - **Libraries: pandas, numpy, matplotlib, seaborn**: Essential libraries for data manipulation and visualization.
102
- - *Example*: Using pandas for data cleaning, matplotlib for plotting sales trends.
103
- - **Data Cleaning and Preparation**: Preparing data for analysis.
104
- - *Example*: Handling missing values in a dataset.
105
- - **Data Visualization**: Creating detailed and interactive plots.
106
- - *Example*: Creating scatter plots to visualize relationships between variables.
107
- - **Statistical Analysis**: Performing statistical tests and analyses.
108
- - *Example*: Running a t-test to compare means of two groups.
109
- - **Automating Data Workflows**: Automating repetitive tasks.
110
- - *Example*: Writing a script to fetch and process data daily.
111
- """, key="python")
112
-
113
- # Data Visualization Tools Section
114
-
115
- add_skill_section("Power BI", "images/powerbi_logo.png", """
116
- Power BI is a business analytics tool that provides interactive visualizations and business intelligence capabilities.
117
-
118
- **Skills:**
119
- - **Report Creation**: Designing detailed reports.
120
- - *Example*: Creating financial reports for stakeholders.
121
- - **DAX Functions**: Using Data Analysis Expressions for complex calculations.
122
- - *Example*: Calculating year-over-year growth.
123
- - **Data Modeling**: Structuring data for efficient analysis.
124
- - *Example*: Creating a data model to analyze customer behavior.
125
- """, key="powerbi")
126
-
127
- # Statistics Section
128
- add_skill_section("Statistics", "images/statistics_logo.png", """
129
- Statistics form the backbone of data analysis, enabling data-driven decision-making.
130
-
131
- **Skills:**
132
- - **Descriptive Statistics (Mean, Median, Mode)**: Summarizing data.
133
- - *Example*: Calculating average customer age.
134
- - **Inferential Statistics (Hypothesis Testing, Confidence Intervals)**: Making predictions and generalizations.
135
- - *Example*: Testing if a new marketing strategy increases sales.
136
- - **Regression Analysis**: Understanding relationships between variables.
137
- - *Example*: Analyzing the impact of price changes on sales volume.
138
- - **Probability Theory**: Assessing risk and uncertainty.
139
- - *Example*: Calculating the likelihood of customer churn.
140
- """, key="statistics")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
 
3
+ # Custom CSS to style the page with 3D features
4
  st.markdown("""
5
  <style>
6
  .main {
7
+ background-color: #ffffff;
8
  }
9
+ .center-image {
10
+ display: block;
11
+ margin-left: auto;
12
+ margin-right: auto;
13
+ width: 60%;
14
+ box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.3);
15
+ border-radius: 15px;
16
  margin-top: 20px;
 
17
  }
18
  .content {
19
  color: #333333;
20
+ padding: 20px;
21
+ font-size: 18px;
22
+ box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2);
23
+ border-radius: 15px;
24
+ background: #f8f9fa;
25
+ margin-left: 20px;
26
+ margin-top: 20px;
27
  }
28
+ .button {
29
+ font-size: 20px;
30
+ margin-bottom: 20px;
31
+ padding: 15px;
32
+ box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
33
+ border-radius: 10px;
34
+ background: #007bff;
35
+ color: white;
36
+ transition: transform 0.2s, background 0.2s;
37
+ border: none;
38
+ width: 100%;
39
+ text-align: left;
40
  }
41
+ .button:hover {
42
+ box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.3);
43
+ transform: scale(1.05);
44
+ cursor: pointer;
45
+ background: #0056b3;
46
+ }
47
+ .button:focus {
48
+ outline: none;
49
+ box-shadow: 6px 6px 15px rgba(0, 0, 0, 0.3);
50
+ transform: scale(1.05);
51
+ background: linear-gradient(to bottom, #003580, #002060);
52
  }
53
  </style>
54
  """, unsafe_allow_html=True)
55
 
 
 
 
 
56
  # Page title
57
  st.title("Data Analysis Roadmap")
58
 
59
+ # Center image at the top
60
+ st.image("images/data_analysis.png", use_column_width='always')
61
+
62
+ # Two-column layout
63
+ col1, col2 = st.columns([1, 2])
64
+
65
+ # Left column with the buttons
66
+ with col1:
67
+ st.header("Topics")
68
+
69
+ selection = None
70
+ if st.button("Basic Python", key="basic_python"):
71
+ selection = "Basic Python"
72
+ if st.button("Intermediate Python", key="intermediate_python"):
73
+ selection = "Intermediate Python"
74
+ if st.button("Descriptive Statistics", key="descriptive_statistics"):
75
+ selection = "Descriptive Statistics"
76
+ if st.button("NumPy", key="numpy"):
77
+ selection = "NumPy"
78
+ if st.button("Pandas", key="pandas"):
79
+ selection = "Pandas"
80
+ if st.button("Matplotlib", key="matplotlib"):
81
+ selection = "Matplotlib"
82
+ if st.button("Seaborn", key="seaborn"):
83
+ selection = "Seaborn"
84
+ if st.button("Inferential Statistics", key="inferential_statistics"):
85
+ selection = "Inferential Statistics"
86
+
87
+ # Right column with the topic description
88
+ with col2:
89
+ if selection:
90
+ if selection == "Basic Python":
91
+ st.image("images/python_logo.png", width=50)
92
+ st.markdown("""
93
+ <div class='content'>
94
+ <b>Basic Python:</b>
95
+ <p>Basic Python covers the fundamental aspects of the Python programming language.</p>
96
+
97
+ <b>Subtopics:</b>
98
+ <ul>
99
+ <li>Syntax: Understanding the basic syntax and structure of Python code.</li>
100
+ <li>Data Types: Working with strings, lists, dictionaries, and tuples.</li>
101
+ <li>Control Flow: Using loops, conditionals, and functions.</li>
102
+ <li>File Handling: Reading from and writing to files.</li>
103
+ </ul>
104
+
105
+ <b>Example:</b>
106
+ <p>Writing simple programs to automate repetitive tasks, such as renaming files in bulk.</p>
107
+ </div>
108
+ """, unsafe_allow_html=True)
109
+
110
+ elif selection == "Intermediate Python":
111
+ st.image("images/python_logo.png", width=50)
112
+ st.markdown("""
113
+ <div class='content'>
114
+ <b>Intermediate Python:</b>
115
+ <p>Intermediate Python includes more advanced features of Python programming.</p>
116
+
117
+ <b>Subtopics:</b>
118
+ <ul>
119
+ <li>Modules and Packages: Importing and organizing code into modules.</li>
120
+ <li>List Comprehensions: Creating lists in a more readable way.</li>
121
+ <li>Error Handling: Using try, except blocks to handle errors.</li>
122
+ <li>Classes and Objects: Understanding object-oriented programming concepts.</li>
123
+ </ul>
124
+
125
+ <b>Example:</b>
126
+ <p>Building reusable code modules and handling exceptions in data processing scripts.</p>
127
+ </div>
128
+ """, unsafe_allow_html=True)
129
+
130
+ elif selection == "Descriptive Statistics":
131
+ st.image("images/statistics_logo.png", width=50)
132
+ st.markdown("""
133
+ <div class='content'>
134
+ <b>Descriptive Statistics:</b>
135
+ <p>Descriptive statistics summarize and describe the main features of a dataset.</p>
136
+
137
+ <b>Subtopics:</b>
138
+ <ul>
139
+ <li>Central Tendency: Mean, median, mode.</li>
140
+ <li>Dispersion: Variance, standard deviation, range.</li>
141
+ <li>Distribution: Quartiles, percentiles, histograms.</li>
142
+ </ul>
143
+
144
+ <b>Example:</b>
145
+ <p>Summarizing sales data to understand the average sales per month and the variability in sales.</p>
146
+ </div>
147
+ """, unsafe_allow_html=True)
148
+
149
+ elif selection == "NumPy":
150
+ st.image("images/numpy_logo.png", width=50)
151
+ st.markdown("""
152
+ <div class='content'>
153
+ <b>NumPy:</b>
154
+ <p>NumPy is a fundamental package for numerical computing in Python.</p>
155
+
156
+ <b>Subtopics:</b>
157
+ <ul>
158
+ <li>Arrays: Creating and manipulating arrays.</li>
159
+ <li>Mathematical Operations: Performing element-wise and matrix operations.</li>
160
+ <li>Statistical Functions: Using built-in functions for analysis.</li>
161
+ <li>Data Transformation: Reshaping and slicing arrays.</li>
162
+ </ul>
163
+
164
+ <b>Example:</b>
165
+ <p>Performing fast and efficient calculations on large datasets, such as computing the sum of all elements in an array.</p>
166
+ </div>
167
+ """, unsafe_allow_html=True)
168
+
169
+ elif selection == "Pandas":
170
+ st.image("images/pandas_logo.png", width=100)
171
+ st.markdown("""
172
+ <div class='content'>
173
+ <b>Pandas:</b>
174
+ <p>Pandas is a powerful library for data manipulation and analysis in Python.</p>
175
+
176
+ <b>Subtopics:</b>
177
+ <ul>
178
+ <li>DataFrames: Creating and manipulating DataFrames.</li>
179
+ <li>Data Cleaning: Handling missing values and duplicates.</li>
180
+ <li>Data Transformation: Merging, joining, and concatenating DataFrames.</li>
181
+ <li>Data Analysis: Grouping and aggregating data.</li>
182
+ </ul>
183
+
184
+ <b>Example:</b>
185
+ <p>Cleaning and analyzing sales data from different regions to find total sales per product category.</p>
186
+ </div>
187
+ """, unsafe_allow_html=True)
188
+
189
+ elif selection == "Matplotlib":
190
+ st.image("images/matplotlib_logo.png", width=100)
191
+ st.markdown("""
192
+ <div class='content'>
193
+ <b>Matplotlib:</b>
194
+ <p>Matplotlib is a plotting library for creating static, interactive, and animated visualizations in Python.</p>
195
+
196
+ <b>Subtopics:</b>
197
+ <ul>
198
+ <li>Basic Plots: Creating line, bar, and scatter plots.</li>
199
+ <li>Customization: Customizing plots with titles, labels, and legends.</li>
200
+ <li>Subplots: Creating multiple plots in a single figure.</li>
201
+ </ul>
202
+
203
+ <b>Example:</b>
204
+ <p>Visualizing sales trends over time with a line chart and customizing it to include titles and labels.</p>
205
+ </div>
206
+ """, unsafe_allow_html=True)
207
+
208
+ elif selection == "Seaborn":
209
+ st.image("images/seaborn_logo.png", width=100)
210
+ st.markdown("""
211
+ <div class='content'>
212
+ <b>Seaborn:</b>
213
+ <p>Seaborn is a data visualization library based on Matplotlib that provides a high-level interface for drawing attractive statistical graphics.</p>
214
+
215
+ <b>Subtopics:</b>
216
+ <ul>
217
+ <li>Statistical Plots: Creating plots like histograms, box plots, and violin plots.</li>
218
+ <li>Customization: Advanced customization of plots.</li>
219
+ <li>Integration: Seamless integration with pandas DataFrames.</li>
220
+ </ul>
221
+
222
+ <b>Example:</b>
223
+ <p>Creating a box plot to visualize the distribution of exam scores across different classes.</p>
224
+ </div>
225
+ """, unsafe_allow_html=True)
226
+
227
+ elif selection == "Inferential Statistics":
228
+ st.image("images/statistics_logo.png", width=50)
229
+ st.markdown("""
230
+ <div class='content'>
231
+ <b>Inferential Statistics:</b>
232
+ <p>Inferential statistics allow us to make predictions or inferences about a population based on a sample of data.</p>
233
+
234
+ <b>Subtopics:</b>
235
+ <ul>
236
+ <li>Hypothesis Testing: Determining the validity of assumptions.</li>
237
+ <li>Confidence Intervals: Estimating population parameters.</li>
238
+ <li>Regression Analysis: Modeling relationships between variables.</li>
239
+ <li>ANOVA and Chi-Square Tests: Comparing group means and categorical variables.</li>
240
+ </ul>
241
+
242
+ <b>Example:</b>
243
+ <p>Using regression analysis to predict future sales based on past data trends and conducting hypothesis tests to determine if a new marketing strategy significantly impacts sales.</p>
244
+ </div>
245
+ """, unsafe_allow_html=True)
246
+