jcmachicao commited on
Commit
fd0c6b5
·
verified ·
1 Parent(s): eb133d4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -3
app.py CHANGED
@@ -1,3 +1,5 @@
 
 
1
  import streamlit as st
2
  import pandas as pd
3
  import numpy as np
@@ -7,6 +9,7 @@ import plotly.express as px
7
  from sklearn.model_selection import train_test_split
8
  from sklearn.preprocessing import StandardScaler
9
  from sklearn.decomposition import PCA
 
10
  scaler = StandardScaler()
11
 
12
  st.title("Visualización y Clusterización automática de Data de Estudiantes")
@@ -62,9 +65,12 @@ if uploaded_file is not None:
62
 
63
  st.pyplot(plt)
64
  st.write(data_200.columns)
 
 
 
65
 
66
- VIRTU = st.selectbox('Virtual: ', [0, 1])
67
- INGRE = st.selectbox('Ingresante: ', [0, 1])
68
 
69
  data_210 = data_200[(data_200['COD_DEPARTAMENTO']==VIRTU) & (data_200['ESTADO_ESTUDIANTE']==INGRE)]
70
 
@@ -72,7 +78,7 @@ if uploaded_file is not None:
72
  st.plotly_chart(fig2)
73
 
74
  plt.figure(figsize=(10, 8))
75
- plt_extracto = plt.hexbin(data_200.pca_1, data_200.pca_2, gridsize=50, cmap='inferno')
76
  plt.colorbar()
77
  plt.title('Hexbin Plot of PCA-Transformed Data')
78
  plt.xlabel('Principal Component 1')
@@ -86,4 +92,37 @@ if uploaded_file is not None:
86
  plt.ylabel('Frecuencia')
87
  plt.title('Histograma de Densidades')
88
  st.pyplot(plt)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
 
 
1
+ # Actualizado por: José Carlos Machicao, Fecha de actualización: 2024_06_19
2
+
3
  import streamlit as st
4
  import pandas as pd
5
  import numpy as np
 
9
  from sklearn.model_selection import train_test_split
10
  from sklearn.preprocessing import StandardScaler
11
  from sklearn.decomposition import PCA
12
+ pd.DataFrame.iteritems = pd.DataFrame.items
13
  scaler = StandardScaler()
14
 
15
  st.title("Visualización y Clusterización automática de Data de Estudiantes")
 
65
 
66
  st.pyplot(plt)
67
  st.write(data_200.columns)
68
+
69
+ #st.write(data_200['COD_DEPARTAMENTO'].unique())
70
+ #st.write(data_200['ESTADO_ESTUDIANTE'].unique())
71
 
72
+ VIRTU = st.selectbox('Virtual: ', ['UVIR', 'PCGT'])
73
+ INGRE = st.selectbox('Ingresante: ', ['REGULAR', 'INGRESANTE', 'REINCORPORADO'])
74
 
75
  data_210 = data_200[(data_200['COD_DEPARTAMENTO']==VIRTU) & (data_200['ESTADO_ESTUDIANTE']==INGRE)]
76
 
 
78
  st.plotly_chart(fig2)
79
 
80
  plt.figure(figsize=(10, 8))
81
+ plt_extracto = plt.hexbin(data_210.pca_1, data_210.pca_2, gridsize=50, cmap='inferno')
82
  plt.colorbar()
83
  plt.title('Hexbin Plot of PCA-Transformed Data')
84
  plt.xlabel('Principal Component 1')
 
92
  plt.ylabel('Frecuencia')
93
  plt.title('Histograma de Densidades')
94
  st.pyplot(plt)
95
+
96
+ offsets = plt_extracto.get_offsets()
97
+ offsets_df = pd.DataFrame(offsets)
98
+ st.write(offsets_df.shape)
99
+ offsets_df['densidad'] = densidades[0]
100
+ offsets_df.columns = ['col1', 'col2', 'densidad']
101
+ offset_selec = offsets_df.sort_values(by='densidad', ascending=False)
102
+ patrones_df = pd.DataFrame(index = [0,1,2,3,4,5,6,7,8,9], data=offset_selec.values[0:10], columns=offset_selec.columns)
103
+ st.write(patrones_df)
104
+
105
+ NUM_CASOS = st.slider("¿Cuántos casos elige explorar?", 1, 10, 3)
106
+ st.write('Usted ha elegido ', NUM_CASOS, 'casos.')
107
+
108
+ radiohex = (data_210.pca_1.max() - data_210.pca_1.min())/50/2
109
+
110
+ CASOX = st.selectbox('Elija el caso: ', (1, 2, 3))
111
+
112
+ a, b = patrones_df.col1[CASOX], patrones_df.col2[CASOX]
113
+ enfoqueX = data_210[
114
+ (data_210.pca_1 > a - radiohex) &
115
+ (data_210.pca_1 < a + radiohex) &
116
+ (data_210.pca_2 > b - radiohex) &
117
+ (data_210.pca_2 < b + radiohex)
118
+ ]
119
+
120
+ st.write(enfoqueX.shape)
121
+ LISTA_SELEC = st.multiselect('Escoja la variable de color: ', list(enfoqueX.columns))
122
+ st.write(LISTA_SELEC)
123
+
124
+ fig2 = px.parallel_categories(data_frame=enfoqueX[list(LISTA_SELEC)])
125
+ st.plotly_chart(fig2)
126
+
127
+
128