Documentos de Académico
Documentos de Profesional
Documentos de Cultura
3 3.1.4.6 Lab - Descriptive Statistics in Python Mark
3 3.1.4.6 Lab - Descriptive Statistics in Python Mark
Título
Aspectos básicos/situación
En esta práctica de laboratorio, importará un conjunto de datos en un marco de pandas y
generará estadísticas descriptivas de los datos. Formateará cadenas de texto, informará las
estadísticas descriptivas y generará un diagrama de los datos. Por último, experimentará con los
parámetros del gráfico para familiarizarse con la diagramación de datos mediante la biblioteca
'matplotlib.pyplot'.
Recursos necesarios
Raspberry Pi versión 2 o superior
1 computadora con acceso a Internet para la conexión con Raspberry Pi
Bibliotecas de Python: pandas y matplotlib.pyplot
Archivos de datos: rpi_describe.csv
1. tamaño de la muestra
2. media
3. mediana
4. desviación estándar
5. mínimo, máximo y rango de valores
In [1]:
# Code cell 1
import pandas as pd
import matplotlib.pyplot as plt
# matplotlib.use('qt5agg')
# given
%matplotlib inline
# import matplotlib
# required on some Jupyter Notebook installations
b) Importe los datos del archivo 'rpi_describe.csv' mediante el método de pandas read_csv.
Utilice "data" como nombre del marco de datos.
In [2]:
# Code cell 2
# import the csv into the dataframe
data=pd.read_csv("./Data/rpi_describe.csv")
c) Verifique que el archivo se haya importado correctamente mediante el uso de los métodos de
pandas 'head' y 'tail' para el marco de datos.
In [3]:
# Code cell 3
# view the contents of the first five rows in the dataframe
data.head()
Out[3]: weight
0 20.440
1 20.244
2 20.549
3 20.755
4 20.740
In [4]:
# Code cell 4
# view the contents of the last five rows in the dataframe
data.tail()
Out[4]: weight
9995 20.419
9996 20.554
9997 20.768
9998 20.829
9999 20.667
A partir de la salida del método de cola, observará que hay 10 000 filas de datos en el archivo. Si
bien se trata sólo de una columna, los pandas administran este archivo de manera muy eficaz.
In [6]:
# Code cell 5
# use the describe method of the new dataframe to view the table of statistics
data.describe()
Out[6]: weight
count 10000.000000
mean 20.499212
std 0.199874
min 19.752000
25% 20.365000
50% 20.500000
75% 20.635000
max 21.171000
b) Para trabajar con los valores redondeados de los pesos en el conjunto de datos, puede
agregar una nueva columna a los valores redondeados. En los pandas, se accede a las columnas
por sus encabezados. Para crear una nueva columna, se utiliza el nombre de la nueva columna,
entre comillas, entre corchetes como índice para el marco de datos. El método 'round()' se
utiliza para redondear los valores en la columna peso y completar una nueva columna con los
valores redondeados.
In [7]:
# Code cell 6
# Add a new column to the dataframe and populate it with rounded weights.
data['rounded'] = data.weight.round(2)
0 20.440 20.44
1 20.244 20.24
2 20.549 20.55
3 20.755 20.76
4 20.740 20.74
c) También es posible completar una columna con valores calculados. Por ejemplo,
creará la columna c en el marco de datos y la completará con la diferencia entre los valores
numéricos en la columna a y b.
Cree una nueva columna en el marco de datos llamada "diff" y complete esa columna con la
cantidad de peso sobre o debajo del valor objetivo de 20 onzas. Utilice el valor redondeado
para el cálculo.
In [8]:
# Code cell 7
# Create the new column named "diff" and fill it with values.
data['diff'] = data['rounded']-20
'count()'
'mean()'
'median()'
'std()'
'min()'
'max()'
a) Utilice los valores en la columna redondeada del marco de datos. Cree una variable para cada
estadística y calcule el rango de valores mediante 'min()' y 'max()' para calcular el rango de
valores.
In [9]:
# Code cell 8
# Create a variables to hold values for the dataset rounded column
count = data['rounded'].count()
mean = data['rounded'].mean()
median = data['rounded'].median()
std = data['rounded'].std()
rng = data['rounded'].max()-data['rounded'].min()
b) Para desarrollar cadenas que utilicen texto y variables para informar sobre las estadísticas del
conjunto de datos, utilice el método de cadena 'format()' para facilitar la inserción de los valores
de las variables en las cadenas. El formateo utiliza marcadores '{}' para indicar dónde deben
insertarse los valores de las variables.
Desarrolle oraciones como “La media de la distribución es…” para cada variable creada. En la
última oración, incluya 'min()', 'max()' y los valores de rango en las mismas oraciones para
practicar el uso de varios marcadores. Puede combinar otras variables en la misma oración,
asimismo.
In [10]:
# Code cell 9
# Create variables to hold your statements.
countstring = "There are {} record in the dataframe".format(count)
meanstring = "The mean is{}".format(mean)
stdstring = "The stabdard deviation is {}".format(std)
rangestring = "The range between the max {} and min{} is {}".format(data['rounded'].
In [11]:
# Code cell 10
# Print all of your statements
print(countstring)
print(meanstring)
print(stdstring)
print(rangestring)
https://docs.python.org/2/library/string.html
https://mkaz.tech/code/python-string-format.html
In [12]:
# Code cell 11
Paso 1: Crear un marco de datos que contenga los conteos de frecuencia para
el conjunto de datos.
a) Cree un nuevo marco de datos que contenga los conteos de frecuencia mediante el método
'value_counts()'. Este método crea un objeto de serie, no un marco de datos. La columna de
índice de esta serie está dada por los valores únicos de la serie, con el nombre de columna que
se establece automáticamente en 0. Para convertir una serie en un DataFrame, puede utilizar la
función 'to_frame()'. Llamar adicionalmente al método 'reset_index()' en el 'DataFrame'
resultante transformará la columna de índice anterior en una nueva columna de datos, cuyo
nombre se establece automáticamente en 'index'. Cambiaré el nombre de las columnas más
adelante.
</font>Utilizará 'to_frame()' con los métodos 'reset_index()' para crear un marco de datos de
pandas a partir del objeto de serie.
Utilizará la columna redondeada del marco de datos de los datos con el método
'value_counts()'. Por ejemplo:
variable = dataframe['columnName'].value_counts()
In [15]:
# Code cell 12
# Create a variable called 'freq' to hold the weight values and their frequencies
freq = data['rounded'].value_counts()
0 20.48 228
1 20.50 226
2 20.43 218
3 20.46 213
4 20.45 210
b) Utilice la función 'type()' con el nombre de la variable como un argumento para verificar que
'freq' no sea un objeto del marco de datos.
In [ ]:
# Code cell 13
# Verify the type of the freq object.
c) Utilice 'head' para ver el nuevo marco de datos. Las columnas del marco de datos no tienen
un nombre claro. Cámbieles el nombre a "value" y "freq" mediante el atributo de las columnas
del marco de datos. Por ejemplo:
dataframe.columns = ['column1','column2']
In [16]:
# Code cell 14
# Rename the columns in the dataframe.
freq.columns=['value','freq']
0 20.48 228
1 20.50 226
2 20.43 218
3 20.46 213
4 20.45 210
In [17]:
# Code cell 15
[<matplotlib.lines.Line2D at 0x1913d5a15e0>]
Out[17]:
marcadores http://matplotlib.org/api/markers_api.html
colores http://matplotlib.org/api/colors_api.html
© 2017 Cisco y/o sus filiales. Todos los derechos reservados. Este documento es información pública de Cisco.