Update app.py
Browse files
app.py
CHANGED
@@ -1,31 +1,30 @@
|
|
1 |
-
import streamlit as st
|
2 |
import pandas as pd
|
3 |
-
import
|
4 |
-
|
|
|
|
|
|
|
|
|
5 |
|
6 |
-
|
7 |
-
st.write("Here's our first app with Streamlit")
|
8 |
|
9 |
-
|
|
|
|
|
|
|
10 |
|
11 |
-
|
12 |
-
years = sorted(df_courses_year['year'].unique())
|
13 |
|
14 |
-
#
|
15 |
-
|
16 |
|
17 |
-
#
|
18 |
-
|
19 |
|
20 |
-
#
|
21 |
-
|
22 |
|
23 |
-
#
|
24 |
-
|
25 |
-
ax = sns.countplot(x='year', data=filtered_data, palette='viridis')
|
26 |
-
ax.set_title('Count of Observations per Year')
|
27 |
-
ax.set_xlabel('Year')
|
28 |
-
ax.set_ylabel('Count')
|
29 |
-
plt.xticks(rotation=45)
|
30 |
|
31 |
-
st.
|
|
|
|
|
1 |
import pandas as pd
|
2 |
+
import streamlit as st
|
3 |
+
|
4 |
+
st.title('Udemy Courses Analysis')
|
5 |
+
|
6 |
+
courses_info = pd.read_csv('udemy_courses_info.csv')
|
7 |
+
courses_year = pd.read_csv('udemy_courses_year.csv')
|
8 |
|
9 |
+
couses_df = pd.merge(courses_info, courses_year, on='course_id')
|
|
|
10 |
|
11 |
+
options = st.multiselect(
|
12 |
+
"Please select subjects",
|
13 |
+
couses_df.subject.unique(),
|
14 |
+
couses_df.subject.unique())
|
15 |
|
16 |
+
couses_df = couses_df[couses_df['subject'].isin(options)]
|
|
|
17 |
|
18 |
+
# Group the DataFrame by 'subject' and 'course_title', and calculate the sum of 'num_subscribers'
|
19 |
+
grouped = couses_df.groupby(['subject', 'course_title'])['num_subscribers'].sum()
|
20 |
|
21 |
+
# Reset the index of the grouped DataFrame
|
22 |
+
grouped = grouped.reset_index()
|
23 |
|
24 |
+
# Sort the grouped DataFrame by 'subject' and 'num_subscribers' in descending order
|
25 |
+
grouped = grouped.sort_values(['subject', 'num_subscribers'], ascending=[True, False])
|
26 |
|
27 |
+
# Group the sorted DataFrame by 'subject' and get the top 5 rows for each group
|
28 |
+
top_courses = grouped.groupby('subject').head(5)
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
+
st.dataframe(top_courses)
|