A continuación vamos a ver como dibujar por pantalla una flecha con caracteres de este tipo * en Python, y antes de que crean que es con la ayuda de Turtle, no es necesario usar esta librería y solo basta una sola linea de código:
un conjunto de símbolos utilizados para formar palabras de un determinado lenguaje (por ejemplo, el alfabeto latino para el inglés, el alfabeto cirílico para el ruso, el kanji para el japonés, y así sucesivamente)
Léxico:
(también conocido como diccionario) un conjunto de palabras que el lenguaje ofrece a sus usuarios (por ejemplo, la palabra "computadora" proviene del diccionario en inglés, mientras que "cmoptrue" no; la palabra "chat" está presente en los diccionarios de inglés y francés, pero sus significados son diferentes)
Sintaxis:
un conjunto de reglas (formales o informales, escritas o interpretadas intuitivamente) utilizadas para precisar si una determinada cadena de palabras forma una oración válida (por ejemplo, "Soy una serpiente" es una frase sintácticamente correcta, mientras que "Yo serpiente soy una" no lo es).
Semántica:
un conjunto de reglas que determinan si una frase tiene sentido (por ejemplo, "Me comí una dona" tiene sentido, pero "Una dona me comió" no lo tiene).
L E N G U A J E = ALFABETO + LEXICO + SINTAXIS + SEMANTICA
Un programa hace que una computadora sea usable. Sin un programa, una computadora, incluso la más poderosa, no es más que un objeto. Del mismo modo, sin un reproductor, un piano no es más que una caja de madera.
Las computadoras pueden realizar tareas muy complejas, pero esta habilidad no es innata. La naturaleza de una computadora es bastante diferente.
Solo puede ejecutar operaciones extremadamente simples. Por ejemplo, una computadora no puede comprender el valor de una función matemática complicada por sí misma, aunque esto no está fuera del alcance de la posibilidad en un futuro cercano.
Las computadoras contemporáneas solo pueden evaluar los resultados de operaciones muy fundamentales. , como sumar o dividir, pero pueden hacerlo muy rápido y pueden repetir estas acciones prácticamente cualquier cantidad de veces.
Imagina que quieres saber la velocidad media que has alcanzado durante un viaje largo. Conoces la distancia, conoces el tiempo, necesitas la velocidad.
Naturalmente, la computadora podrá calcular esto, pero la computadora no es consciente de cosas como la distancia, la velocidad o el tiempo. Por lo tanto, es necesario instruir a la computadora para:
aceptar un número que represente la distancia;
aceptar un número que represente el tiempo de viaje;
divide el valor anterior por el segundo y almacenar el resultado en la memoria;
mostrar el resultado (que representa la velocidad promedio) en un formato legible.
Estas cuatro simples acciones forman un programa. Por supuesto, estos ejemplos no están formalizados y están muy lejos de lo que la computadora puede entender, pero son lo suficientemente buenos para ser traducidos a un idioma que la computadora pueda aceptar.
El lenguaje es la palabra clave.
1.1.2 Lenguajes naturales vs lenguajes de programación
Un lenguaje es un medio (y una herramienta) para expresar y registrar pensamientos. Hay muchos lenguajes a nuestro alrededor. Algunos de ellos no requieren ni hablar ni escribir, como el lenguaje corporal; es posible expresar tus sentimientos más profundos muy precisamente sin decir una palabra.
Otro lenguaje que utilizas cada día es tu lengua materna, que utilizas para manifestar tu voluntad y reflexionar sobre la realidad. Las computadoras también tienen su propio lenguaje, llamado lenguaje máquina, que es muy rudimentario.
Una computadora, incluso la más sofisticada técnicamente, está desprovista de cualquier rastro de inteligencia. Se podría decir que es como un perro bien adiestrado: responde sólo a un conjunto predeterminado de comandos conocidos.
Los comandos que reconoce son muy simples. Podemos imaginar que la computadora responde a órdenes como "toma ese número, divide por otro y guarda el resultado".
Un conjunto completo de comandos conocidos se llama lista de instrucciones, a veces abreviada IL (por sus siglas en inglés). Los diferentes tipos de computadoras pueden variar según el tamaño de sus IL y las instrucciones pueden ser completamente diferentes en diferentes modelos.
Nota: los lenguajes máquina son desarrollados por humanos.
Ninguna computadora es actualmente capaz de crear un nuevo idioma o lenguaje. Sin embargo, eso puede cambiar pronto. Por otro lado, las personas también usan varios idiomas muy diferentes, pero estos idiomas se crearon ellos mismos. Además, todavía están evolucionando.
Cada día se crean nuevas palabras y desaparecen las viejas. Estos lenguajes se llaman lenguajes naturales.
Este elemento incluye contenido que aún no se tradujo a tu idioma preferido.
Esta guía de referencia contiene funciones y métodos comunes que los profesionales de los datos utilizan para limpiar los datos. La guía de referencia contiene tres tablas diferentes de herramientas útiles, cada una agrupada por categoría de limpieza: datos que faltan, valores atípicos y codificación de etiquetas.
Guardar este tema del curso
Es posible que desee guardar una copia de esta guía para futuras consultas. Puede utilizarla como recurso para practicar más o en sus futuros proyectos profesionales. Para acceder a una versión descargable de este elemento del curso, haga clic en el siguiente enlace y seleccione "Usar plantilla".
Descripción: Un método de DataFrame que devuelve un resumen conciso del marco de datos, incluido un "recuento no nulo", que le ayuda a conocer el número de valores que faltan
Descripción: pd.isna() es una función de pandas que devuelve una matriz booleana del mismo tamaño indicando si cada valor es nulo (también puede utilizar pd.isnull() como alias). Tenga en cuenta que esta función también existe como método en DataFrame.
Ejemplo:
Descripción: Una función pandas que devuelve una matriz booleana del mismo tamaño indicando si cada valor NO es nulo (también puede utilizar pd.notnull() como alias). Tenga en cuenta que esta función también existe como método en DataFrame.
Descripción: Un método de DataFrame que rellena los valores que faltan utilizando el método especificado
Ejemplo:
>>print(df)
>>print('\n After fillna(): \n')
>>df.fillna(2)
>>>
animal class color legs
0 cardinal Aves red NaN
1 gecko Reptilia green 4.0
2 raven Aves black NaN
After fillna():
animal class color legs
0 cardinal Aves red 2.0
1 gecko Reptilia green 4.0
2 raven Aves black 2.0
Descripción: Un método de DataFrame que sustituye valores especificados por otros valores especificados. También puede aplicarse a pandas Series.
Ejemplo:
>>print(df)
>>print('\n After replace(): \n')
>>df.replace('Aves', 'bird')
>>>
animal class color legs
0 cardinal Aves red 2
1 gecko Reptilia green 4
2 raven Aves black 2
After replace():
animal class color legs
0 cardinal bird red 2
1 gecko Reptilia green 4
2 raven bird black 2
Descripción: Un método de DataFrame que elimina las filas o columnas que contienen valores perdidos, dependiendo del eje que se especifique.
Ejemplo:
>>print('Original df: \n \n', df)
>>print('\n After dropna(axis=0): \n')
>>print(df.dropna(axis=0))
>>print('\n After dropna(axis=1): \n')
>>print(df.dropna(axis=1))
>>>
Original df:
animal class color legs
0 NaN Aves red 2
1 gecko Reptilia green 4
2 raven Aves NaN 2
After dropna(axis=0):
animal class color legs
1 gecko Reptilia green 4
After dropna(axis=1):
class legs
0 Aves 2
1 Reptilia 4
2 Aves 2
1
2
3
4
5
6
Valores atípicos
Las siguientes herramientas son útiles cuando se trata de valores atípicos en un conjunto de datos.
Descripción: Un método de DataFrame que devuelve estadísticas generales sobre el marco de datos que pueden ayudar a determinar los valores atípicos
Ejemplo:
Descripción: Una función de seaborn que genera un gráfico de caja. Los puntos de datos que superan 1,5 veces el rango intercuartílico se consideran valores atípicos.
Ejemplo:
Codificación de etiquetas
Las siguientes herramientas son útiles a la hora de realizar la codificación de etiquetas.
Descripción: Un método de DataFrame que le permite codificar sus datos como un dtype especificado. Tenga en cuenta que este método también puede utilizarse en objetos Series.
Ejemplo:
>>print(df)
>>print('\n Original dtypes of df: \n')
>>print(df.dtypes)
>>print('\n dtypes after casting \'class\' column as categorical: \n')
>>df['class'] = df['class'].astype('category')
>>print(df.dtypes)
>>>
animal class color legs
0 cardinal Aves red 2
1 gecko Reptilia green 4
2 raven Aves black 2
Original dtypes of df:
animal object
class object
color object
legs int64
dtype: object
dtypes after casting 'class' column as categorical:
animal object
class category
color object
legs int64
dtype: object
Descripción: Un transformador de scikit-learn.preprocessing que codifica categorías o etiquetas especificadas con códigos numéricos. Tenga en cuenta que al construir modelos predictivos sólo debe utilizarse en variables objetivo (es decir, datos y ).
Ejemplo:
Puede utilizarse para normalizar etiquetas:
>>print('\n Reverse from encoded classes to original: \n', inverse)
>>>
Data = [1, 2, 2, 6]
Classes:
[1 2 6]
Encoded (normalized) classes:
[0 1 1 2]
Reverse from encoded classes to original:
[1 2 2 6]
Puede utilizarse para convertir etiquetas categóricas en numéricas:
>>from sklearn.preprocessing import LabelEncoder
>># Instantiate LabelEncoder()
>>encoder = LabelEncoder()
>>data = ['paris', 'paris', 'tokyo', 'amsterdam']
>># Fit to the data
>>encoder.fit(data)
>># Transform the data
>>transformed = encoder.transform(data)
>># New data
>>new_data = [0, 2, 1, 1, 2]
>># Get classes of new data
>>inverse = encoder.inverse_transform(new_data)
>>print('Data =', data)
>>print('\n Classes: \n', list(encoder.classes_))
>>print('\n Encoded classes: \n', transformed)
>>print('\n New data =', new_data)
>>print('\n Convert new_data to original classes: \n', list(inverse))
>>>
Data = ['paris', 'paris', 'tokyo', 'amsterdam']
Classes:
['amsterdam', 'paris', 'tokyo']
Encoded classes:
[1 1 2 0]
New data = [0, 2, 1, 1, 2]
Convert new_data to original classes:
['amsterdam', 'tokyo', 'paris', 'paris', 'tokyo']
Puntos clave
Existen muchas herramientas que los profesionales de los datos pueden utilizar para realizar la limpieza de datos en una amplia gama de datos. La información que aprenda de los datos que faltan, los valores atípicos y la transformación de datos categóricos en numéricos le ayudará a preparar conjuntos de datos para su posterior análisis a lo largo de su carrera.