edgamer's picture
Update app.py
08598c3
"""
@author: Jesús Eduardo Oliva Abarca
"""
from email.mime import image
import imp
import io
import re
import numpy as np
import pandas as pd
from PIL import Image
import seaborn as sns
import streamlit as st
import matplotlib.pyplot as plt
from sklearn.preprocessing import LabelEncoder
st.sidebar.title('Secciones')
opcion_general = st.sidebar.selectbox('Selecciona la sección que desees revisar', ['Presentación', 'Resumen', 'Conceptos clave',
'Análisis exploratorio (EDA: Exploratory Data Analysis)', 'Hallazgos', 'Fuentes'])
if opcion_general == 'Presentación':
st.title('Estudio sobre las Industrias Culturales y Creativas en México')
st.write('Por Jesús Eduardo Oliva Abarca')
st.write('Contacto: jesus.olivaabr@uanl.edu.mx\n\n ORCID ID: orcid.org/0000-0001-7150-4693\n\n')
st.write('Redes:')
st.write('https://scholar.google.es/citations?user=GY50k5AAAAAJ&hl=es')
st.write('https://www.scopus.com/authid/detail.uri?authorId=57170148900')
st.write('https://www.linkedin.com/in/jes%C3%BAs-eduardo-oliva-abarca-78b615157/')
st.write('https://www.researchgate.net/profile/Jesus_Oliva_Abarca2')
st.write('https://uanl.academia.edu/EduardoOliva\n\n')
st.write('Libro (acceso libre): https://comunicacion-cientifica.com/wp-content/uploads/2021/07/14.-Cultura-y-Big-Data-Interiores-INTERIORES.pdf')
st.write('Facultad de Artes Visuales, Universidad Autónoma de Nuevo León''')
elif opcion_general == 'Resumen':
st.title('Resumen')
st.markdown('''Existen numerosas acepciones del concepto de Industrias Culturales y Creativas -en adelante, ICC, para abreviar-, de igual manera,
se han formulado múltiples clasificaciones de este sector productivo que, a partir de la década de los ochenta del siglo pasado,
adquiere una mayor relevancia tanto para la economía global, lo mismo que para las discusiones y debates en torno a las políticas de
desarrollo de los países. En lo que respecta a México, las ICC han sido objeto de investigaciones muy diversas, que van desde el
análisis de su dimensión económica y jurídica (Piedras, 2004), o bien para abordarles desde una óptica sociológica (García Canclini,
2000, y 2006), o para examinar su influjo en la generación en la planeación pública (Mariscal Orozco, 2007). Este proyecto de investigación
parte del análisis de los datos referentes a las ICC, disponibles en el Directorio Estadístico Nacional de Unidades Económicas (DENUE),
desde el año 2015 y hasta el 2021, con el propósito de identificar características generales de éstas, así como patrones y tendencias de
su desarrollo, que posibiliten un entendimiento general de la estructura del campo de producción cultural (Bourdieu, 2002;
García Canclini, 2014) en México. Para cumplir con tal objetivo, este estudio se apoya en la análitica cultural (Manovich, 2020),
enfoque que combina técnicas y métodos de la ciencia de datos (campo que integra a la estadística, el Aprendizaje Automático, o
Machine Learning y la Inteligencia Artificial), con el análisis sociológico y las humanidades digitales para el análisis de grandes
volúmenes de datos culturales. El estudio aquí propuesto se realiza en tres etapas: durante la primera, se recolectan y se procesan
los datos para conformar los conjuntos a partir de los cuales se realizará un análisis exploratorio (Exploratory Data Analysis);
la segunda fase comprende el examen e interpretación de los patrones, tendencias y/o anomalías relativas al desarrollo de las ICC,
y la elaboración de recomendaciones para su mejora. En la tercera y última fase, se desarrolla y despliega una aplicación web que
permita visualizar los datos examinados en esta investigación para propiciar la socialización de los hallazgos obtenidos, así como
para incentivar la reflexión y debate, por parte de las personas u organizaciones interesadas, en torno a las ICC en México.''')
st.markdown('''Palabras clave: analítica cultural, brecha digital, campo cultural, industrias culturales y creativas, innovación cultural''')
elif opcion_general == 'Conceptos clave':
st.title('Conceptos clave')
tema = st.sidebar.radio('Selecciona la temática de tu interés', ['Industrias Culturales y Creativas', 'Analítica Cultural'])
if tema == 'Industrias Culturales y Creativas':
st.header('Industrias Culturales y Creativas')
if st.checkbox('Definiciones'):
opcion_definicion = st.radio('', ['Definición clásica (Escuela de Francfort)', 'Definición moderna (visión desarrollista)',
'Definición actual (sociedad de la información y del conocimiento)'])
if opcion_definicion == 'Definición clásica (Escuela de Francfort)':
st.info('''Industria cultural: a) incompatibilidad de la lógica capitalista respecto a la esfera de la creación artística, b) la
homogeneización cultural por la reproducción masificada de la obra, y c) la distinción entre un arte “culto”,
de élite, y uno masivo, orientado a la diversión y al entretenimiento, d) la expansión de la racionalidad técnica al ámbito cultural,
lo que implicaba la incorporación de técnicas de reproducción masiva y, por consiguiente, la estandarización de los bienes culturales
en función de la demanda económica; e) la supresión de los elementos diferenciadores, de lo “nuevo”, en las artes, y, por ende,
la homogeneización del gusto y de las audiencias; y f) la sumisión de la cultura a la lógica capitalista, que conlleva a una nueva
forma de dominio, a través de “ilusiones” o “fantasías” cuyo objetivo es el de preservar el statu quo (Adorno & Horkheimer, 1998)''')
elif opcion_definicion == 'Definición moderna (visión desarrollista)':
st.info('''Industrias culturales: toda forma de producción centrada en elementos simbólicos y expresivos, como la música,
la literatura, las artes visuales y escénicas, el diseño y los medios de comunicación. \n Características:
a) ampliación cuantitativa del acceso a la cultura; b) la revaloración del creador; y c) la proyección cultural nacional,
es decir, la posibilidad de que, a través de las industrias culturales, sea posible tender
puentes colaborativos entre culturas locales (Girard, 1982). \nLa mercantilización de la cultura ya no es percibida de manera negativa,
antes bien, y como señala Zallo (1992), la cultura siempre ha sido apropiable, y, por lo tanto, la “empresarialidad” cultural ya existía
–a menor escala- desde los siglos XVIII y XIX, durante los cuales la literatura, principalmente la novela, y la pintura -las editoriales,
las librerías, las galerías de arte, junto con las actividades de los marchands- conforman un mercado
importante (Poli, 1976)''')
elif opcion_definicion == 'Definición actual (sociedad de la información y del conocimiento)':
st.info('''Industrias creativas: engloban en un mismo sector actividades que, si bien difieren respecto a sus finalidades o productos,
se basan de igual manera en la creatividad y en la innovación –artística, intelectual o estética- (Stoneman, 2010) para el desarrollo
de nuevos contenidos, lo mismo que para nuevos modelos de negocios (Hartley et al., 2015). Además, esta misma tendencia a la innovación
hacen de las industrias creativas una fuente importante para la experimentación de las posibilidades de las tecnologías
digitales, lo mismo que para la búsqueda de la originalidad y novedad en otros sectores de la economía en general (Flew, 2012).
\nLas industrias culturales y creativas se pueden definir entonces de manera general como las actividades en las que la creatividad
desempeña un papel fundamental, que comportan un grado de propiedad intelectual, y que elaboran mensajes simbólicos (Throsby, 2008),
además de quedisuelven también la separación entre un arte culto, o alta cultura, y un arte popular y/o masivo, incorporándolas en un mismo
espectro horizontal de prácticas simbólicas (Towse, 2013) en las que se incluyen la publicidad, la arquitectura, las artes visuales y
las escénicas, las antigüedades, la música, el diseño, la moda, el cine, la televisión y la radio.''')
if st.checkbox('Mostrar gráfico'):
imagen = Image.open('Imágenes/Imagen0.jpg''')
st.image(image= imagen, caption= 'Ciclo de producción cultural. Fuente: UNESCO.')
elif st.checkbox('Modelos'):
if st.button('Modelo de los círculos concéntricos'):
st.info('''El modelo de los círculos concéntricos organiza a las industrias culturales y creativas según la cadena de valor cultural, es decir,
de acuerdo a la posición de cada actividad respecto del producto -o servicio- final''')
imagen = Image.open('Imágenes/Imagen1.png')
st.image(imagen, caption= 'Modelo de los círculos concéntricos. Fuente: PNUD. (2014). Informe sobre la economía creativa. UNESCO')
if st.button('Modelo expandido de los círculos concéntricos'):
st.info('''El modelo de la Work Foundation expande el de los círculos concéntricos para integrarlo en la totalidad de la economía''')
imagen = Image.open('Imágenes/Imagen2.jpg')
st.image(imagen, caption= '''Modelo expandido de los círculos concéntricos. Fuente: Flew, T. (2012). The Creative Industries. Culture and Policy.
Sage Publications''')
if st.button('Modelo de las Industrias Protegidas por el Derecho de Autor (IPDA)'):
st.info('''El modelo de la Organización Mundial de la Propiedad Intelectual (OMPI) tiene como criterio organizacional el del nivel de relación,
o dependencia, de cada actividad cultural respecto al derecho de autor, distinguiendo así entre industrias basadas fundamentalmente
en el reconocimiento y explotación de la autoría, y otras industrias que están sujetas en menor medida al derecho de autor (Piedras, 2004).
Una de las ventajas a subrayar de este modelo es el de considerar el grado de participación de cada actividad cultural en la economía,
en función del cumplimiento, o quebrantamiento, del derecho de autor; así, junto a las industrias base, las interdependientes, las
parcialmente relacionadas, y las no dedicadas, se incluyen también las ilegales e informales.''')
imagen = Image.open('Imágenes/Imagen3.png')
st.image(imagen, caption= '''Modelo de las Industrias Protegidas por el Derecho de Autor (IPDA). Fuente: Piedras, E. (2004). ¿Cuánto vale
la cultura? Contribución económica de las industrias protegidas por el derecho de autor en México. CONACULTA.''')
if st.button('Modelo refinado de las industrias creativas'):
st.info('''El desarrollado por la National Endowment for Science, Technology and the Arts (NESTA), en Reino Unido, denominado como
“modelo refinado de las industrias creativas”. Según este modelo, la economía creativa se configura en torno a a) proveedores de servicios
creativos (agencias publicitarias, de diseño gráfico, de arquitectura, entre otras actividades prestadas a particulares o empresas),
b) productores de contenido creativo (que incluye a la industria editorial, cinematográfica, musical, a la creación teatral, y otros
sub-sectores que producen contenido protegido por derecho de autor), c) proveedores de experiencias creativas (espectáculos en vivo
teatrales, musicales, de danza, festivales, entre otros que proporcionan el acceso a actividades que dependen de un espacio y un tiempo
en específico), y d) productores creativos originales (artistas visuales, artesanos, diseñadores, que crean obras únicas en algún
tipo de soporte).''')
imagen = Image.open('Imágenes/Imagen4.png')
st.image(imagen, caption= '''Modelo refinado de las industrias creativas. Fuente: Flew, T. (2012). The Creative Industries. Culture and Policy.
Sage Publications''')
if st.button('Modelo de la UNCTAD'):
st.info('''La United Nations Conference on Trade and Development (UNCTAD) esboza un modelo del sector cultural y creativo que parte de la
distinción de cuatro sub-sectores clave: el de las artes, como tales, en el que se incluyen las artes visuales y las escénicas,
el de los medios, que reúne a la industria editorial y a la audiovisual, el del patrimonio, que comprende a los sitios históricos,
los museos, y las celebraciones tradicionales, y el de las creaciones funcionales, que se refiere al diseño, a la arquitectura,
y la publicidad.''')
imagen = Image.open('Imágenes/Imagen5.jpg')
st.image(imagen, caption= 'Modelo de la UNCTAD (Conferencia de las Naciones Unidas sobre Comercio y Desarrollo). Fuente: UNCTAD')
if st.button('Tipología de Gander'):
st.info('''De acuerdo a la tipología de Gander (2017), las industrias culturales y creativas se clasifican en las orientadas a la generación
de experiencias, catalogadas como “efímeras”, a la creación de bienes únicos y a la producción de bienes reproducibles.''')
imagen = Image.open('Imágenes/Imagen6.png')
st.image(imagen, caption= '''Tipología de Gander. Fuente: Gander, J. (2017). Strategic Analysis. A Creative and Cultural Industries Perspective.
Routledge.''')
elif st.checkbox('Debates y problemas'):
st.write('''* Volatilidad del mercado cultural: el éxito o fracaso de un bien o servicio cultural no depende de su funcionalidad, sino del gusto del
consumidor (incertidumbre del comportamiento de las audiencias o consumidores respecto a la oferta del mercado)''')
st.write('* Búsqueda permanente de la novedad, o innovación, esto es, de la asignación de nuevos significados a objetos y/o procesos ya existentes')
st.write('''* Oposición entre una visión romantizada del trabajo creativo -rezago de la concepción idealista del artista (Bourdieu, 2002), de su entrega
incondicional a la creación y de su renuncia a los valores mundanos- y una concepción deliberadamente comercial de la creatividad, que
persigue el lucro de manera explícita (Hesmondhalgh, 2013). McRobbie (2016) y Rowan (2010) argumentan que la mistificación del trabajo creativo
es una estrategia tanto empresarial como gubernamental para que los profesionales creativas asuman la precariedad como modo de vida. Una visión
que podría considerarse “equilibrada”, es la de Gander (2017), quien sostiene que el éxito comercial no es incompatible con la realización de
los valores del creador''')
st.write('''* Discusión sobre si las industrias culturales y creativas pertenecen al sector terciario, o de servicios, o si formarían parte del sector
cuaternario, enfocado en la producción, circulación y consumo de información y conocimiento a través de redes digitales (Einarsson, 2016)''')
st.write('''* Convergencia mediática y la digitalización de la producción cultural: ¿democratización y descentralización cultural o nuevas formas de
exclusión y centralización?''')
st.write('''* Modelo de desarrollo de las Industrias Culturales y Creativas en México: ¿de bienestar, de competencia, de crecimiento o de innovación
(Hartley, Wen & Siling Li, 2015)''')
elif tema == 'Analítica Cultural':
st.header('Analítica Cultural')
if st.checkbox('Características'):
st.info('''La analítica de la cultura emplea los procedimientos, técnicas y métodos de la ciencia de datos, con el propósito de identificar patrones
en grandes cantidades de datos culturales, tales como fotos, música, videos, apps, obras de arte, etc. Aunque la analítica cultural se deriva
tanto de los enfoques de las humanidades digitales y de la netnografía, se diferencia esencialmente de éstas en que, primero, distingue entre
objetos culturales digitalizados y digitales propiamente, segundo, integra a la investigación técnicas avanzadas de ciencia de datos,
y tercero, su objeto de estudio no son únicamente documentos (como en las humanidades digitales) o interacciones (como en la netnografía),
sino también eventos y experiencias digitales. En suma, la analítica cultural examina a) objetos culturales, b) información cultural,
c) discursos culturales y d) experiencias culturales.''')
if st.checkbox('Técnicas y métodos'):
st.info('''La analítica cultural posee un amplio abánico de técnicas tanto para la recolección de datos, lo mismo que pasa su procesamiento y análisis.
Entre sus prácticas más destacadas está el uso de la estadística descriptiva, el raspado de red (web scraping), análisis exploratorio de datos
(EDA), Aprendizaje Automático (supervisado y no supervisado), el procesamiento de lenguaje natural y la visión computacional.''')
if st.button('Exploratory Data Analysis (EDA)'):
st.info('''Consiste en una exploración panorámica de la muestra, con el propósito de obtener sus métricas y/o características generales,
empleando técnicas de visualización o de síntesis estadística. Más que una fase, el EDA es un proceso que complementa tanto la exploración
preliminar, como el procesamiento de los datos.\nAlgunas técnicas de graficación comúnmente empleadas en este proceso son:\n * Gráficos
de barras\n * Gráfico circular o por sectores Histograma\n * Gráfico de líneas\n * Gráfico de dispersión\n * Gráfico de caja y
bigotes\n * Gráfico de área''')
if st.button('Raspado de red/minería de red'):
st.info('''La minería de red (o web scraping) consiste en la extracción automatizada de contenidos (textuales, visuales, audiovisuales) de uno
o varios sitios web. El minado de red es utilizado ampliamente en el sector de telecomunicaciones y de desarrollo de apps para identificar
patrones de búsqueda de los diversos usuarios.''')
if st.button('Aprendizaje Automático (Machine Learning'):
st.info('''El Aprendizaje Automático (Machine Learning) es un subcampo de la Inteligencia Artificial, que consiste en el desarrollo y aplicación
de algoritmos diversos para desarrollar (entrenar) modelos que sean capaces de "aprender" con base a datos previamente analizados mediante técnicas
computacionales. Como tal, el Aprendizaje Automático es la base para el desarrollo de sistemas de recomendación, motores de búsqueda
optimizados, modelos de clasificación textual y de reconocimiento de imágenes, etc.''')
if st.button('Procesamiento de lenguaje natural'):
st.info('''Es una subrama del Aprendizaje Automático que comprende la extracción de información a partir de textos, el "entrenamiento" de
asistentes conversacionales, la autocompleción y la generación automatizada de textos, la traducción simultánea y la clasificación
semántica de textos.''')
if st.button('Visión computacional'):
st.info('''Al igual que el procesamiento de lenguaje natural, la visión computacional es una subrama del Aprendizaje Automático. La visión
computacional consiste en la identificación de rasgos y atributos relevantes en imágenes (sean estáticas o dinámicas) para con ello
establecer relaciones relevantes que deriven en un conocimiento visual generalizado. \nAlgunas aplicaciones de la visión computacional son
las siguientes:\n * Detección de objetos\n * Seguimiento de objetos\n * Segmentación por atributos\n * Segmentación por
objetos\n * Clasificación de imágenes''')
elif opcion_general == 'Análisis exploratorio (EDA: Exploratory Data Analysis)':
st.title('Análisis exploratorio (EDA: Exploratory Data Analysis)')
opcion = st.sidebar.selectbox('Selecciona el año que deseas examinar', ('2015', '2016', '2017', '2018', '2019', '2020', '2021', '2022'))
df_cargado = pd.read_csv('datos_procesados/datos_denue_icc_' + opcion + '.csv')
st.sidebar.write('Seleccionaste el año', opcion)
copia_df = df_cargado.copy()
datos_binarios = df_cargado[['razon_social', 'correo_electronico', 'sitio_internet']].notna()
copia_df.insert(2, '_razon_social', datos_binarios['razon_social'])
copia_df.insert(13, '_correo_electronico', datos_binarios['correo_electronico'])
copia_df.insert(15, '_sitio_internet', datos_binarios['sitio_internet'])
copia_df['_razon_social'] = copia_df['_razon_social'].astype(str)
copia_df['_razon_social'] = copia_df['_razon_social'].replace('False', 'No tiene')
copia_df['_razon_social'] = copia_df['_razon_social'].replace('True', 'Sí tiene')
copia_df['_correo_electronico'] = copia_df['_correo_electronico'].astype(str)
copia_df['_correo_electronico'] = copia_df['_correo_electronico'].replace('False', 'No tiene')
copia_df['_correo_electronico'] = copia_df['_correo_electronico'].replace('True', 'Sí tiene')
copia_df['_sitio_internet'] = copia_df['_sitio_internet'].astype(str)
copia_df['_sitio_internet'] = copia_df['_sitio_internet'].replace('False', 'No tiene')
copia_df['_sitio_internet'] = copia_df['_sitio_internet'].replace('True', 'Sí tiene')
opcion_actividad = st.sidebar.radio('Selecciona la actividad que deseas realizar sobre el conjunto de datos seleccionado', ['Exploración descriptiva',
'Visualización'])
if opcion_actividad == 'Exploración descriptiva':
opcion_tarea = st.sidebar.selectbox('Selecciona la tarea exploratoria', ['Marco de datos y métricas generales', 'Agrupación', 'Análisis de segmentación',
'Correlaciones'])
if opcion_tarea == 'Marco de datos y métricas generales':
st.dataframe(df_cargado)
buffer = io.StringIO()
df_cargado.info(buf= buffer)
info_df = buffer.getvalue()
st.text(info_df)
elif opcion_tarea == 'Agrupación':
st.subheader('Selecciona la variable categórica que desees examinar:')
if st.sidebar.checkbox('Razón social'):
df_grupo = df_cargado['razon_social'].notna().value_counts()
st.table(df_grupo)
elif st.sidebar.checkbox('Clase de actividad'):
df_grupo = df_cargado['nombre_clase_actividad'].value_counts()
st.table(df_grupo)
elif st.sidebar.checkbox('Rango de personal ocupado'):
df_grupo = df_cargado['rango_personal_ocupado'].value_counts()
st.table(df_grupo)
elif st.sidebar.checkbox('Entidad federativa'):
df_grupo = df_cargado['entidad_federativa'].value_counts()
st.table(df_grupo)
elif st.sidebar.checkbox('Correo electrónico'):
df_grupo = df_cargado['correo_electronico'].notna().value_counts()
st.table(df_grupo)
elif st.sidebar.checkbox('Sitio en Internet'):
df_grupo = df_cargado['sitio_internet'].notna().value_counts()
st.table(df_grupo)
elif st.sidebar.checkbox('Tipo de establecimiento'):
df_grupo = df_cargado['tipo_establecimiento'].value_counts()
st.table(df_grupo)
elif opcion_tarea == 'Análisis de segmentación':
try:
opcion_estado = st.sidebar.selectbox('Selecciona la entidad federativa', [i for i in copia_df.groupby(by= 'entidad_federativa').groups])
opcion_razon_social = st.sidebar.selectbox('Selecciona el estatus de registro legal', [i for i in copia_df.groupby(by= '_razon_social').groups])
opcion_actividad = st.sidebar.selectbox('Selecciona la clase de actividad', [i for i in copia_df.groupby(by= 'nombre_clase_actividad').groups])
opcion_rango_ocupacion = st.sidebar.selectbox('Selecciona el rango de ocupación laboral', [i for i in copia_df.groupby(by= 'rango_personal_ocupado').groups])
opcion_correo = st.sidebar.selectbox('Selecciona según posea o no correo electrónico', [i for i in copia_df.groupby(by= '_correo_electronico').groups])
opcion_sitio = st.sidebar.selectbox('Selecciona según posea o no sitio en Internet', [i for i in copia_df.groupby(by= '_sitio_internet').groups])
opcion_tipo_establecimiento = st.sidebar.selectbox('Selecciona el tipo de establecimiento', [i for i in copia_df.groupby(by= 'tipo_establecimiento').groups])
df_segmentado = copia_df.groupby(['entidad_federativa', '_razon_social', 'nombre_clase_actividad', 'rango_personal_ocupado', '_correo_electronico',
'_sitio_internet', 'tipo_establecimiento']).get_group((opcion_estado, opcion_razon_social, opcion_actividad,
opcion_rango_ocupacion, opcion_correo, opcion_sitio, opcion_tipo_establecimiento))
df_segmentado.drop(columns= 'entidad_federativa', inplace= True)
st.dataframe(df_segmentado)
st.info('En ' + opcion_estado + ' hay un total de ' + str(len(df_segmentado['_razon_social'].notna())) + ' unidades económicas del giro '
+ '"' + opcion_actividad.lower() + '"' + ' que ' + opcion_razon_social.lower() + 'n razón social, con un rango de personal ocupado de '
+ opcion_rango_ocupacion + ', que ' + opcion_correo.lower() + 'n correo electrónico y ' + opcion_sitio.lower()
+ 'n sitio en Internet, además de contar con un establecimiento ' + opcion_tipo_establecimiento.lower())
except KeyError:
st.warning('No existen entradas u observaciones para las categorías seleccionadas')
elif opcion_tarea == 'Correlaciones':
etiquetador = LabelEncoder()
copia_df = df_cargado.copy()
for columna in copia_df.columns:
copia_df[columna] = etiquetador.fit_transform(copia_df[columna])
copia_df.drop(columns= ['nombre_unidad_economica', 'tipo_vialidad', 'nombre_vialidad', 'numero', 'tipo_asentamiento_humano', 'nombre_asentamiento_humano',
'codigo_postal', 'entidad_federativa', 'municipio', 'fecha_incorporacion_denue'], inplace= True)
st.table(copia_df.corr(method= 'pearson'))
elif opcion_actividad == 'Visualización':
opcion_grafico = st.sidebar.radio('Selecciona el gráfico para visualizar los datos', ('Pie', 'De barras', 'Mapa de calor'))
if opcion_grafico == 'Pie':
if st.sidebar.checkbox('Gráfico general'):
opcion_variable = st.sidebar.selectbox('Selecciona la variable categórica que deseas graficar',
['Razon social', 'Rango de personal ocupado', 'Cuenta con correo electrónico', 'Cuenta con sitio de Internet', 'Tipo de establecimiento'])
if opcion_variable == 'Razon social':
figura, eje = plt.subplots()
plt.title('Unidades Económicas de las ICC en México según cuenten o no con razón social')
eje.pie(df_cargado['razon_social'].notna().value_counts(), labels= ['No cuentan con razón social', 'Sí cuentan con razón social'],
autopct= '%1.1f%%', explode= [0, 0.1], shadow= True)
eje.axis('equal')
st.pyplot(figura)
elif opcion_variable == 'Rango de personal ocupado':
figura, eje = plt.subplots()
plt.title('Unidades Económicas de las ICC en México según el rango de personal ocupado')
eje.pie(df_cargado['rango_personal_ocupado'].value_counts(), labels= ['0 a 5 personas', '6 a 10 personas', '11 a 30 personas', '31 a 50 personas',
'51 a 100 personas', '101 a 250 personas', '251 y más personas'],
autopct= '%1.1f%%', explode= [0.1, 0, 0, 0, 0.3, 0.6, 0.9], shadow= True)
eje.axis('equal')
st.pyplot(figura)
elif opcion_variable == 'Cuenta con correo electrónico':
figura, eje = plt.subplots()
plt.title('Unidades Económicas de las ICC en México según cuenten o no con correo electrónico')
eje.pie(df_cargado['correo_electronico'].notna().value_counts(),
labels= ['No cuentan con correo electrónico', 'Sí cuentan con correo electrónico'], autopct= '%1.1f%%', explode= [0, 0.1], shadow= True)
eje.axis('equal')
st.pyplot(figura)
elif opcion_variable == 'Cuenta con sitio de Internet':
figura, eje = plt.subplots()
plt.title('Unidades Económicas de las ICC en México según cuenten o no con sitio en Internet')
eje.pie(df_cargado['sitio_internet'].notna().value_counts(),
labels= ['No cuentan con sitio en Internet', 'Sí cuentan con sitio en Internet'], autopct= '%1.1f%%', explode= [0, 0.1], shadow= True)
eje.axis('equal')
st.pyplot(figura)
elif opcion_variable == 'Tipo de establecimiento':
figura, eje = plt.subplots()
plt.title('Unidades Económicas de las ICC en México según el tipo de establecimiento')
eje.pie(df_cargado['tipo_establecimiento'].value_counts(), labels= ['Fijo', 'Semifijo'], autopct= '%1.1f%%', explode= [0, 0.1], shadow= True)
eje.axis('equal')
st.pyplot(figura)
elif st.sidebar.checkbox('Gráfico por entidad federativa'):
opcion_estado = st.sidebar.selectbox('Selecciona la entidad federativa', [i for i in copia_df.groupby(by= 'entidad_federativa').groups])
opcion_variable = st.sidebar.selectbox('Selecciona la variable categórica que deseas graficar',
['Razon social', 'Rango de personal ocupado', 'Cuenta con correo electrónico', 'Cuenta con sitio de Internet', 'Tipo de establecimiento'])
df_segmentado = copia_df.groupby('entidad_federativa').get_group(opcion_estado)
try:
if opcion_variable == 'Razon social':
figura, eje = plt.subplots()
eje.pie(df_segmentado['razon_social'].notna().value_counts(), labels= ['No cuentan con razón social', 'Sí cuentan con razón social'],
autopct= '%1.1f%%', explode= [0, 0.1], shadow= True)
eje.axis('equal')
plt.title('Unidades Económicas de las ICC en %s según cuenten o no con razón social'%opcion_estado)
st.pyplot(figura)
elif opcion_variable == 'Rango de personal ocupado':
figura, eje = plt.subplots()
eje.pie(df_segmentado['rango_personal_ocupado'].value_counts(), labels= ['0 a 5 personas', '6 a 10 personas', '11 a 30 personas',
'31 a 50 personas', '51 a 100 personas', '101 a 250 personas', '251 y más personas'],
autopct= '%1.1f%%', explode= [0.1, 0, 0, 0, 0.3, 0.6, 0.9], shadow= True)
eje.axis('equal')
plt.title('Unidades Económicas de las ICC en %s según el rango de personal ocupado'%opcion_estado)
st.pyplot(figura)
elif opcion_variable == 'Cuenta con correo electrónico':
figura, eje = plt.subplots()
eje.pie(df_segmentado['correo_electronico'].notna().value_counts(),
labels= ['No cuentan con correo electrónico', 'Sí cuentan con correo electrónico'], autopct= '%1.1f%%', explode= [0, 0.1], shadow= True)
eje.axis('equal')
plt.title('Unidades Económicas de las ICC en %s según cuenten o no con correo electrónico'%opcion_estado)
st.pyplot(figura)
elif opcion_variable == 'Cuenta con sitio de Internet':
figura, eje = plt.subplots()
eje.pie(df_segmentado['sitio_internet'].notna().value_counts(),
labels= ['No cuentan con sitio en Internet', 'Sí cuentan con sitio en Internet'], autopct= '%1.1f%%', explode= [0, 0.1], shadow= True)
eje.axis('equal')
plt.title('Unidades Económicas de las ICC en %s según cuenten o no con sitio en Internet'%opcion_estado)
st.pyplot(figura)
elif opcion_variable == 'Tipo de establecimiento':
figura, eje = plt.subplots()
eje.pie(df_segmentado['tipo_establecimiento'].value_counts(), labels= ['Fijo', 'Semifijo'], autopct= '%1.1f%%', explode= [0, 0.1], shadow= True)
eje.axis('equal')
plt.title('Unidades Económicas de las ICC en %s según el tipo de establecimiento'%opcion_estado)
st.pyplot(figura)
except ValueError:
figura, eje = plt.subplots()
eje.pie(df_segmentado['rango_personal_ocupado'].value_counts(), labels= ['0 a 5 personas', '6 a 10 personas', '11 a 30 personas',
'31 a 50 personas', '51 a 100 personas', '101 a 250 personas'],
autopct= '%1.1f%%', shadow= True)
eje.axis('equal')
plt.title('Unidades Económicas de las ICC en %s según el rango de personal ocupado'%opcion_estado)
st.pyplot(figura)
elif opcion_grafico == 'De barras':
opcion_estado = st.sidebar.selectbox('Escoge una entidad federativa para explorar', [i for i in copia_df.groupby(by= 'entidad_federativa').groups])
df_segmentado = copia_df.groupby(by= 'entidad_federativa').get_group(opcion_estado)
if st.sidebar.checkbox('Razón social'):
figura = plt.figure()
eje = sns.countplot(y= 'nombre_clase_actividad', hue= '_razon_social', data= df_segmentado)
plt.title('Clase de actividades en %s según su razón social'%opcion_estado, fontsize= 16)
st.pyplot(figura)
elif st.sidebar.checkbox('Rango de personal ocupado'):
figura = plt.figure()
eje = sns.countplot(y= 'nombre_clase_actividad', hue= 'rango_personal_ocupado', data= df_segmentado)
plt.title('Clase de actividades en %s según el rango de personal ocupado'%opcion_estado, fontsize= 16)
st.pyplot(figura)
elif st.sidebar.checkbox('Correo electrónico'):
figura = plt.figure()
eje = sns.countplot(y= 'nombre_clase_actividad', hue= '_correo_electronico', data= df_segmentado)
plt.title('Clase de actividades en %s según contacto vía correo electrónico'%opcion_estado, fontsize= 16)
st.pyplot(figura)
elif st.sidebar.checkbox('Sitio en Internet'):
figura = plt.figure()
eje = sns.countplot(y= 'nombre_clase_actividad', hue= '_sitio_internet', data= df_segmentado)
plt.title('Clase de actividades en %s según su presencia en Internet'%opcion_estado, fontsize= 16)
st.pyplot(figura)
elif st.sidebar.checkbox('Tipo de establecimiento'):
figura = plt.figure()
eje = sns.countplot(y= 'nombre_clase_actividad', hue= 'tipo_establecimiento', data= df_segmentado)
plt.title('Clase de actividades en %s según el tipo de establecimiento'%opcion_estado, fontsize= 16)
st.pyplot(figura)
elif opcion_grafico == 'Mapa de calor':
etiquetador = LabelEncoder()
copia_df = df_cargado.copy()
for columna in copia_df.columns:
copia_df[columna] = etiquetador.fit_transform(copia_df[columna])
copia_df.drop(columns= ['nombre_unidad_economica', 'tipo_vialidad', 'nombre_vialidad', 'numero', 'tipo_asentamiento_humano', 'nombre_asentamiento_humano',
'codigo_postal', 'entidad_federativa', 'municipio', 'fecha_incorporacion_denue'], inplace= True)
figura = plt.figure()
eje = sns.heatmap(copia_df.corr(), annot= True)
st.pyplot(figura)
elif opcion_general == 'Hallazgos':
st.title('Hallazgos')
if st.button('Estatus de registro legal'):
st.markdown('''Menos de un tercio de las unidades económicas que integran al sector cultural cuentan con razón social, lo que significa que la gran mayoría
de unidades económicas dedicadas a actividades culturales no se encuentra registradas como empresas formalmente constituidas. Si bien no se
puede concluir de ello la informalidad del sector de las industrias culturales, si puede constituir un indicio de la asimetría, por lo menos en
lo relativo a la infraestructura y recursos -educativos, jurídicos, etc.-, de las condiciones de instauración e inserción formal en el sector de
creadores individuales y/o de colectivos, respecto a empresas de creación y/o circulación de contenidos creativos (Flew, 2014); esta brecha
entre iniciativas artísticas y culturales particulares, y compañías con capacidades productivas y de distribución masificada y a gran escala
(Howkins, 2013), es una problemática que, aunque presente también en economías desarrolladas, es más pronunciada en las que están en vías de
desarrollo (UNESCO, 2002; United Nations, 2018)''')
if st.button('Ocupación laboral'):
st.markdown('''El sector de las ICC en México está constituido principalmente por micro y pequeñas empresas, rasgo que, según varios especialistas, es
común en la economía creativa a escala global (Collins, 2015; Hartley et al., 2015; Hesmondhalgh, 2013; Kolb, 2015; Towse, 2013), y que podría
explicarse tanto por la tendencia al autoempleo, al emprendimiento y al empleo por proyectos (McRobbie, 2016; Rowan, 2010; Throsby, 2008),
la escasez de recursos para financiar las artes y la cultura (Becker, 2008; van Maanen, 2009), y, por ende, para crear nuevos empleos en el
sector, así como por las políticas públicas culturales, que apuestan usualmente por criterios cuantitativos de acceso a la cultura
(Girard, 1982; Lewis, 1990).''')
if st.button('Presencia digital'):
st.markdown('''En términos proporcionales, menos del tercio de la totalidad de las unidades económicas de las ICC en México cuentan con correo electrónico
y/o sitio web y, si bien el correo electrónico puede no ser del todo relevante -dadas otras alternativas de comunicación, como las de mensajería
instantánea, como Facebook Messenger, WhatsApp, Telegram, entre otras-, contar con una página en Internet es muy necesario para tener no
solamente presencia en la economía del conocimiento (Flew, 2014), sino también para ser partícipe de las interacciones económicas contemporáneas,
cada vez más proclives a la digitalización y a la “datificación” (Ontiveros & López Sabater, 2017). En el caso en particular de las industrias
culturales y creativas, las plataformas digitales no son sólo herramientas tecnológicas para potenciar la distribución de bienes y servicios,
sino también medios para la revitalización de valores simbólicos, así como para la realización de nuevas visiones creativas.''')
if st.button('Clase de actividad'):
st.markdown('''Las actividades más recurrentes comprenden el comercio minorista de artesanías, libros y revistas, los servicios de fotografía y
videograbación y de arquitectura, la publicidad, el diseño gráfico, y la promotoría cultural (con instalaciones propias). En lo que respecta a
las actividades de mercados más estrechos, se incluyen la danza y el teatro de la iniciativa pública, las editoras y productoras musicales,
la producción de películas, la edición de libros, y la producción de programas para televisión.''')
elif opcion_general == 'Fuentes':
st.markdown('''* Adorno, T., & Horkheimer, M. (1998). Dialéctica de la Ilustración. Fragmentos filosóficos. Trotta.
* Albon, C. (2018). Machine Learning with Python Cookbook. O’Reilly.
* Becker, H. S. (2008). Los mundos del arte. Sociología del trabajo artístico. Universidad Nacional de Quilmes.
* Bengfort, B., Bilbro, R., & Ojeda, T. (2018). Applied Text Analysis with Python. Enabling Language-Aware Data Products with Machine Learning. O’Reilly.
* Benjamin, W. (2003). La obra de arte en la época de su reproductibilidad técnica. Editorial ITACA. https://public.ebookcentral.proquest.com/choice/publicfullrecord.aspx?p=5757954
* Bourdieu, P. (2002). Campo de poder, campo intelectual. Itinerario de un concepto. Montressor.
* Caves, R. E. (2002). Creative Industries. Contracts between Art and Commerce. Harvard University Press.
* Collins, H. (2015). Creative Research. The Theory and Practice of Research for the Creative Industries. Bloomsbury Publishing.
* Davies, R., & Sigthorsson, G. (2013). Introducing the Creative Industries. From Theory to Practice. Sage Publications.
* Eco, U. (2000). Tratado de semiótica general. Lumen.
* Einarsson, Á. (2016). Cultural Economics. Bifröst University.
* Embarak, O. (2018). Data Analysis and Visualization Using Python. Apress.
* Flew, T. (2012). The Creative Industries. Culture and Policy. Sage Publications.
* Flew, T. (2014). New Media. Oxford University Press.
* Florida, R. (2012). The Rise of the Creative Class. Basic Books.
* Gander, J. (2017). Strategic Analysis. A Creative and Cultural Industries Perspective. Routledge.
* García Canclini, N. (2014). La producción simbólica. Teoría y método en sociología del arte. Siglo XXI.
* García Herrero, J., Berlanga de Jesús, A., Molina López, J. M., Patricio Guisado, M. Á., Bustamante, Á. L., & Padilla, W. R. (2018). Ciencia de datos. Técnicas analíticas y aprendizaje estadístico. Alfaomega.
* Girard, A. (1982). Las industrias culturales: ¿obstáculo o nueva oportunidad para el desarrollo cultural? En Industrias culturales: El futuro de la cultura en juego. UNESCO/FCE.
* Hartley, J., Wen, W., & Siling Li, H. (2015). Creative Economy and Culture. Sage Publications.
* Hartley, John, Potts, Jason, Cunningham, Stuart, Flew, Terry, Keane, Michael, & Banks, John. (2013). Key Concepts in Creative Industries. Sage.
* Henley, A. J., & Wolf, D. (2018). Learn Data Analysis with Python. Apress.
* Hesmondhalgh, D. (2013). The Cultural Industries. Sage Publications.
* Howkins, J. (2013). The Creative Economy. How People Make Money from Ideas. Penguin Books.
* Jenkins, H. (2008). Convergence Culture. La cultura de la convergencia de los medios de comunicación. Paidós.
* Jenkins, H., Ford, S., & Green, J. (2015). Cultura transmedia. La creación de contenido y valor en una cultura en red. Gedisa.
* Kolb, B. (2015). Entrepreneurship for the Creative and Cultural Industries. Mastering Management in the Creative and Cultural Industries. Routledge.
* Lessig, L. (2005). Cultura libre: Cómo los grandes medios usan la tecnología y las leyes para encerrar la cultura y controlar la creatividad. LOM : Derechos Digitales.
* Lewis, J. (1990). Art, Culture and Enterprise. Routledge.
* Luzardo, A., Funes, G., & 23 Design. (2019). Emprendimientos tecnocreativos. Banco Interamericano de Desarrollo.
* Manovich, L. (2020). Cultural Analytics. The MIT Press.
* Mathur, P. (2019). Machine Learning Applications Using Python. Cases Studies from Healthcare, Retail, and Finance. Apress.
* McKinney, W. (2018). Python for Data Analysis. O’Reilly.
* McRobbie, A. (2016). Be Creative. Making a Living in the New Culture Industries. Polity Press.
* Mukhopadhyay, S. (2018). Advanced Data Analytics Using Python. Apress.
* Nelli, F. (2018). Python Data Analytics. Apress.
* O’Connor, J. (2007). The cultural and creative industries: A literature review. Arts Council England.
* Ontiveros, E. (dir. ), & López Sabater, V. (coord. ). (2017). Economía de los Datos. Ariel/Fundación Telefónica.
* Piedras, E. (2004). ¿Cuánto vale la cultura? Contribución económica de las industrias protegidas por el derecho de autor en México. CONACULTA.
* PNUD. (2014). Informe sobre la economía creativa. UNESCO.
* Poli, F. (1976). Producción artística y mercado. Gustavo Gili.
* Rowan, J. (2010). Emprendizajes en cultura. Discursos, instituciones y contradicciones de la empresarialidad cultural. Traficantes de Sueños.
* Sontag, S. (1984). Contra la interpretación. Seix Barral.
* Stepanek, H. (2020). Thinking in Pandas. Apress.
* Stoneman, P. (2010). Soft Innovation. Economics, Product Aesthetics, and the Creative Industries. Oxford University Press.
* Throsby, D. (2008). Economía y cultura. CONACULTA.
* Towse, R. (2013). A Textbook of Cultural Economics. Cambridge University Press.
* UNESCO. (2002). Cultura, comercio y globalización. Preguntas y respuestas. UNESCO/CERLALC.
* United Nations. (2018). Creative Economy Outlook and Country Profile Report. UNCTAD. https://unctad.org/system/files/official-document/ditcted2018d3_en.pdf
* Van Dijck, J. (2013). The Culture of Connectivity. A Critical History of Social Media. Oxford University Press.
* van Maanen, H. (2009). How to Study Art Worlds. On the Societal Functioning of Aesthetic Values. Amsterdam University Press.
* vanden Broucke, S., & Baesens, B. (2018). Practical Web Scraping for Data Science. Apress.
* Vos, N. J. de. (2015). Kmodes categorical clustering library. https://github.com/nicodv/kmodes
* VV., AA. (2006). Copyleft: Manuel de uso. Traficantes de Sueños.
* Yproductions. (2009). Innovación en cultura. Una aproximación crítica a la genealogía y usos del concepto. Traficantes de Sueños.
* Yúdice, G. (2002). El recurso de la cultura. Gedisa.
* Zallo, R. (1992). El mercado de la cultura. Gakoa.
''')