File size: 48,844 Bytes
eb2d109
 
 
 
 
cd0c6c3
 
87b03c8
 
 
eb2d109
3be1489
45e6021
87b03c8
cd0c6c3
479bf6c
74d410c
cd0c6c3
48f9ae8
eb2d109
87b03c8
48f9ae8
cd0c6c3
08598c3
f53f878
 
 
 
 
 
 
 
 
eb2d109
 
48f9ae8
cd0c6c3
eb2d109
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cd0c6c3
eb2d109
 
48f9ae8
cd0c6c3
 
eb2d109
cd0c6c3
 
eb2d109
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
08598c3
eb2d109
 
 
 
 
08598c3
eb2d109
 
 
08598c3
eb2d109
 
 
 
 
 
 
 
 
08598c3
eb2d109
 
 
 
 
 
 
 
 
 
 
08598c3
eb2d109
 
 
 
 
 
 
 
08598c3
eb2d109
 
 
 
08598c3
eb2d109
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cd0c6c3
 
eb2d109
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48f9ae8
cd0c6c3
08598c3
cd0c6c3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eb2d109
cd0c6c3
eb2d109
 
 
 
 
cd0c6c3
 
 
 
eb2d109
cd0c6c3
eb2d109
cd0c6c3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eb2d109
 
cd0c6c3
 
 
 
 
 
 
 
 
 
 
 
 
 
eb2d109
 
 
 
cd0c6c3
 
eb2d109
cd0c6c3
 
 
 
 
 
 
 
eb2d109
cd0c6c3
 
eb2d109
cd0c6c3
 
 
 
 
 
eb2d109
cd0c6c3
 
 
 
 
 
eb2d109
cd0c6c3
 
 
 
 
 
 
eb2d109
cd0c6c3
 
 
 
 
 
eb2d109
cd0c6c3
 
 
 
 
 
eb2d109
cd0c6c3
 
 
eb2d109
cd0c6c3
 
 
 
 
5487c12
 
 
 
 
 
eb2d109
5487c12
 
 
 
 
 
 
eb2d109
5487c12
 
 
 
 
 
eb2d109
5487c12
 
 
 
 
 
eb2d109
5487c12
 
 
 
 
eb2d109
5487c12
 
cd0c6c3
5487c12
 
 
eb2d109
 
cd0c6c3
eb2d109
cd0c6c3
 
 
 
 
 
eb2d109
cd0c6c3
 
 
 
eb2d109
cd0c6c3
 
 
 
eb2d109
cd0c6c3
 
 
 
eb2d109
cd0c6c3
 
 
 
eb2d109
cd0c6c3
eb2d109
cd0c6c3
 
 
 
 
 
 
 
 
 
eb2d109
 
48f9ae8
eb2d109
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
08598c3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
"""
@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.
''')