Objetivo

Explorar datos de un archivo csv por medio de librería pandas

Descripción

Identificar una ruta WEB en donde se encuentra un archivo csv que contenga varias variables cpn lo cual se podrá importar con la función de read (lectura) que permitirá explorar sus datos.

Marco teórico

La exploración de datos es un primer paso del análisis de datos que se utiliza para explorar y visualizar datos para descubrir conocimientos desde el mismo inicio o identificar áreas o patrones para profundizarlos más. texto del vínculo

Desarrollo

Va a contener varios elementos:

  • Cargar librerías
  • Cargar datos
  • Explorar datos
  • Visualizar datos

Cargar librerías

import pandas as pd
import matplotlib.pyplot as plt
datos = pd.read_csv("https://raw.githubusercontent.com/rpizarrog/Analisis-Inteligente-de-datos/main/datos/movies-db.csv")
datos
name year length_min genre average_rating cost_millions foreign age_restriction
0 Toy Story 1995 81 Animation 8.3 30.0 0 0
1 Akira 1998 125 Animation 8.1 10.4 1 14
2 The Breakfast Club 1985 97 Drama 7.9 1.0 0 14
3 The Artist 2011 100 Romance 8.0 15.0 1 12
4 Modern Times 1936 87 Comedy 8.6 1.5 0 10
5 Fight Club 1999 139 Drama 8.9 63.0 0 18
6 City of God 2002 130 Crime 8.7 3.3 1 18
7 The Untouchables 1987 119 Drama 7.9 25.0 0 14
8 Star Wars Episode IV 1977 121 Action 8.7 11.0 0 10
9 American Beauty 1999 122 Drama 8.4 15.0 0 14
10 Room 2015 118 Drama 8.3 13.0 1 14
11 Dr. Strangelove 1964 94 Comedy 8.5 1.8 1 10
12 The Ring 1998 95 Horror 7.3 1.2 1 18
13 Monty Python and the Holy Grail 1975 91 Comedy 8.3 0.4 1 18
14 High School Musical 2006 98 Comedy 5.2 4.2 0 0
15 Shaun of the Dead 2004 99 Horror 8.0 6.1 1 18
16 Taxi Driver 1976 113 Crime 8.3 1.3 1 14
17 The Shawshank Redemption 1994 142 Crime 9.3 25.0 0 16
18 Interstellar 2014 169 Adventure 8.6 165.0 0 10
19 Casino 1995 178 Biography 8.2 50.0 0 18
20 The Goodfellas 1990 145 Biography 8.7 25.0 0 14
21 Blue is the Warmest Colour 2013 179 Romance 7.8 4.5 1 18
22 Black Swan 2010 108 Thriller 8.0 13.0 0 16
23 Back to the Future 1985 116 Sci-fi 8.5 19.0 0 0
24 The Wave 2008 107 Thriller 7.6 5.5 1 16
25 Whiplash 2014 106 Drama 8.5 3.3 1 12
26 The Grand Hotel Budapest 2014 100 Crime 8.1 25.5 0 14
27 Jumanji 1995 104 Fantasy 6.9 65.0 0 12
28 The Eternal Sunshine of the Spotless Mind 2004 108 Drama 8.3 20.0 0 14
29 Chicago 2002 113 Comedy 7.2 45.0 0 12
30 Jumangi 2020 120 Action 8.0 50.0 0 12

Explorar datos

datos.head(10)
name year length_min genre average_rating cost_millions foreign age_restriction
0 Toy Story 1995 81 Animation 8.3 30.0 0 0
1 Akira 1998 125 Animation 8.1 10.4 1 14
2 The Breakfast Club 1985 97 Drama 7.9 1.0 0 14
3 The Artist 2011 100 Romance 8.0 15.0 1 12
4 Modern Times 1936 87 Comedy 8.6 1.5 0 10
5 Fight Club 1999 139 Drama 8.9 63.0 0 18
6 City of God 2002 130 Crime 8.7 3.3 1 18
7 The Untouchables 1987 119 Drama 7.9 25.0 0 14
8 Star Wars Episode IV 1977 121 Action 8.7 11.0 0 10
9 American Beauty 1999 122 Drama 8.4 15.0 0 14

tail()

Explorar los últimos registros

datos.tail(10)
name year length_min genre average_rating cost_millions foreign age_restriction
21 Blue is the Warmest Colour 2013 179 Romance 7.8 4.5 1 18
22 Black Swan 2010 108 Thriller 8.0 13.0 0 16
23 Back to the Future 1985 116 Sci-fi 8.5 19.0 0 0
24 The Wave 2008 107 Thriller 7.6 5.5 1 16
25 Whiplash 2014 106 Drama 8.5 3.3 1 12
26 The Grand Hotel Budapest 2014 100 Crime 8.1 25.5 0 14
27 Jumanji 1995 104 Fantasy 6.9 65.0 0 12
28 The Eternal Sunshine of the Spotless Mind 2004 108 Drama 8.3 20.0 0 14
29 Chicago 2002 113 Comedy 7.2 45.0 0 12
30 Jumangi 2020 120 Action 8.0 50.0 0 12

Tipo de dato

Se identifica el tipo de datos que tiene la variable datos siendo un data.frame y cada variable de datos.

type(datos)
pandas.core.frame.DataFrame
datos.dtypes
name                object
year                 int64
length_min           int64
genre               object
average_rating     float64
cost_millions      float64
foreign              int64
age_restriction      int64
dtype: object

Decripción de los datos

Se presenta valores estadístcos de los datos del archivo importado

datos.describe()
year length_min average_rating cost_millions foreign age_restriction
count 31.000000 31.000000 31.000000 31.000000 31.000000 31.000000
mean 1996.290323 116.903226 8.100000 23.193548 0.387097 12.903226
std 17.586346 24.888223 0.734847 32.201531 0.495138 5.028948
min 1936.000000 81.000000 5.200000 0.400000 0.000000 0.000000
25% 1988.500000 99.500000 7.950000 3.750000 0.000000 12.000000
50% 1999.000000 113.000000 8.300000 13.000000 0.000000 14.000000
75% 2009.000000 123.500000 8.500000 25.250000 1.000000 16.000000
max 2020.000000 179.000000 9.300000 165.000000 1.000000 18.000000

Estadísticos de variable de interés

La variable de estudio es el rating de las películas

print("average_rating")
print("Valor mínimo:", datos['average_rating'].min())
print("Valor máximo:",datos['average_rating'].max())
print("La media aritmética:",datos['average_rating'].mean())
print("Desviación Estándar:",datos['average_rating'].std())
print("Núm. de observaciones:",datos['average_rating'].count())
average_rating
Valor mínimo: 5.2
Valor máximo: 9.3
La media aritmética: 8.100000000000001
Desviaión Estándar: 0.7348469228349533
Núm. de observaciones: 31

Visualizar datos

La variable de interés es el idioma (foreign). Se determina la frecuencia.

ceros = datos['foreign'] == 0
print(ceros.value_counts())


frecuencia = (datos.groupby("foreign").agg(frequency=("foreign", "count")))
frecuencia
True     19
False    12
Name: foreign, dtype: int64
frequency
foreign
0 19
1 12
datos.groupby('foreign').count()['name'].plot(kind='bar')
<matplotlib.axes._subplots.AxesSubplot at 0x7f1471bc4350>

La variable de interés es el género (genre). Se determina la frecuencia.

datos.groupby('genre').count()['name'].plot(kind='bar')
<matplotlib.axes._subplots.AxesSubplot at 0x7fc8d59ec350>

Interpretación

El conjunto de datos que se presenta contiene una variedad de películas con sus respectivas características para conocer con gran detalle cuál es su posición en comparación con las demás. A continuación se hara un breve repaso de los puntos que se consideraron de mayor importancia.

El Rating de las películas fue uno de los principales factores que han influído en el análisis de las mismas, donde el valor máximo obtenido es 9,2 y el mínimo es 5,3. Por otro lado, según los datos el rating promedio por película es de 8.10 aproximadamente. Todo esto tomando en cuenta de que se hubo realizado en base a las 31 observaciones que se sucitaron y que los valores tienden a desviarse muy poco del valor medio.

En mi opinión, este puede ser un valor de gran importancia para determinar cuál es el género que mayor rating produce, y por lo tanto, mayor impacto en los factores económicos e incluso criticos del producto como tal. Yo pienso que para una industria como la del cine, siempre será importante conocer los resultados entorno al rating de las películas actuales, saber qué es lo que esta de moda y de esta forma actuar en respuesta a ello lo antes posible, básicamente el principio muy conocido de adaptarse al cambio.

En la última parte se presenta una gráfica con unos resultados bastante interesantes, ya que muestra el género que predomina en las películas que se analizaron, siendo este el “Drama”, seguido de la “Comedia” y después el “Crimen”. Esto, a mi parecer, claramente indica que las películas tienden a tener más este tipo de géneros porque han tomado en cuenta el recibimiento que han tenido, por ejemplo, a través del rating que se le ha dado. Otro de los puntos que me gustaría tocar es el apartado visual de los datos y su conceptualización, es decir, que me parece muy útil la forma en la que se presentan los resultados, detallada pero sencilla de comprender al mismo tiempo, y eso es realmente apreciable tanto para quien no forma parte del contexto de la apicación, pero más aún para aquellos análistas de datos que pueden llegar a compartir la información con otros de su campo.