Data Science N024: astype() y Tratamiento de los datos tipo string

By rafaelaquino on 6/9/2022

Cordiales Saludos

![portada23.png](Image from post)

Comenzaremos transformando el tipo de dato de una columna. En esta oportunidad nos entregaron el registro de los pasajeros del titanic (con esta base de dato se realizan muchos análisis) tenemos un dato que recibimos (recordemos que siempre recibiremos datos en bruto, sin trabajar) como tipo object y debemos transformarlo a string.

Trabajaremos con el archivo del titanic en formato .CSV que tienes a disposicón en el link donde está todo el ejercicio de hoy. Como siempre importamos la librería pandas y luego creamos el Data Frame. Ver Capture de Pantalla 24_01.

Capture de Pantalla 24_01 ![24.png](Image from post)

astype()

Con astype() podemos transformar fácilmente cualquier tipo de datos. En esta oportunidad tenemos al Dato Name como object y lo transformaremos a string. Nos conviene trasformarlo porque trabajaremos con algunas características o propiedades propias del tipo de dato string.

Para hacer la transformación lo realizamos con la siguiente línea de códico.

df['Name'] = df['Name'].astype("string")

Nótese en la Capture de Pantalla 24_02 tenemos el Dato Name como object y en la Capture de Pantalla 24_03 despues de hacer la tranaformación a través del astype el Dato name es ahora de tipo string.

Capture de Pantalla 24_02 Capture de Pantalla 24_03
24_1.png 24_2.png

Tratamiento de los datos tipo string

Este tema es de suma importancia para la limpieza de datos ya que nos permite trabajar con los datos tipos string en cuanto a contar el número de letras, dividir el string, concatenarlos, remplazar palabras, entre muchos otros métodos que podemos aprovechar para el análisis de una cadena de caracteres. En esta publicación abarcademos los siguientes métodos: len(), lower() capitalize(), upper(), count(), split() y replace(), tan sólo son los más comunes, si deseas profundizar podemos dirigirnos a la documentación oficial de pandas

len()

El método len() nos permite sumar el número de caracteres del string. Aquí se suman todos los caracteres, incluyendo signos y hasta los espacios entre palabras.

Debemos estar pendiente para el uso de todos los métodos anteponer str.

df['Name'].str.len()
Capture de Pantalla 24_04 Capture de Pantalla 24_05
24_4.png 24_5.png

lower()

El método lower() transforma toda la cadena de caracteres en minúsculas.

df['Name'].str.lower()
Capture de Pantalla 24_06 Capture de Pantalla 24_06a
24_4.png 24_6.png

capitalize()

El método capitalize() transforma a mayúscula la primera letra de toda la cadena de caracteres.

df['Name'].str.capitalize()
Capture de Pantalla 24_07 Capture de Pantalla 24_08
24_4.png 24_8.png

upper()

El método upper() transforma a mayúscula toda la cadena de caracteres.

df['Name'].str.upper()
Capture de Pantalla 24_09 Capture de Pantalla 24_10
24_4.png 24_10.png

count()

El método count() cuanta el número de letras encontradas en el string. Debemos pasar (argumento) el caracter a contar. Nótese que solo cuenta las a minúscula. A no es igual a a. El indice 4: Hirvonen, Mrs. Alexander (Helga E Lindqvist), tiene dos a

df.Name.str.count("a") 
Capture de Pantalla 24_11 Capture de Pantalla 24_12
24_4.png 24_12.png

Una buena práctica si queremos contar una letra en particular sin importar si está en minuscula o mayúscula, es pasando todo el string a minúscula y contamos el número de letras. Lo podemos observar mejor en la siguiente línea de codigo. Notese que ahora: 4 Hirvonen, Mrs. Alexander (Helga E Lindqvist) tiene tres a.

df.Name.str.lower().str.count("a") 
Capture de Pantalla 24_13 Capture de Pantalla 24_14
24_4.png 24_14.png

Aqui se realizó lo contrario, pasando todo el string a mayúscula y contamos el numero de letras A.

df.Name.str.upper().str.count("A") 
Capture de Pantalla 24_15 Capture de Pantalla 24_16
24_4.png 24_16.png

split()

El método split() divide la cadena de caracteres, por palabras. Lo notamos en el Capture de Pantalla 24_18 la separación con comas: ,.

df['Name'].str.split()
Capture de Pantalla 24_17 Capture de Pantalla 24_18
24_4.png 24_18.png

replace()

El método replace() Reemplaza una palabra por otra.

df['Name'].str.replace('Kelly','XXXX')
Capture de Pantalla 24_19 Capture de Pantalla 24_20
24_4.png 24_20.png

Ver el Cuaderno completo con los ejercicios de hoy en deepnote.

Para quienes terminaron el Curso Gratis de Programación con python y para todos los interesados, ordené todas las publicaciones dedicadas a Data Science realizadas aquí en @hive, en una página web, para que tengan fácil acceso a cada entrada. La dirección es Python Cumanés (Data Science) y aquí la dirección de pythoncumanes

Una vez más los invito a practicar, practicar, practicar... Hasta la próxima entrega, Feliz Día!

![separador001.png](Image from post)
### Entrega anterior [pad - backfill](https://peakd.com/hive-154226/@rafaelaquino/data-science-n023-pad-backfill)
![separador001.png](Image from post)

Clases gratis de programación / Free programming classes

[ESP/ENG] Mi proyecto en Python/My project in Python.

Mi twitter separador001.png

I started a Ko-fi Page! Ko-fi helps creators get support from fans of their work. Please support or follow my page! If you like what I do and feel in tune with my work in creating content for free programming courses and chess publications without any profit interest. [Give me a coffee...](https://ko-fi.com/rafaelaquino) I will be very grateful! ![separador001.png](Image from post) Todos a programar! [Rafael Aquino](https://www.facebook.com/rafael.aquino.5815) Bogotá / Colombia

Comments (2)

gangstalking's avatar @gangstalking 6/9/2022

They literally have attempeted my murder and are trying to kill me with V2K and RNM. Five years this has been happening to me, it started here, around people that are still here. Homeland security has done nothing at all, they are not here to protect us. Dont we pay them to stop shit like this? The NSA, CIA, FBI, Police and our Government has done nothing. Just like they did with the Havana Syndrome, nothing. Patriot Act my ass. The American government is completely incompetent. The NSA should be taken over by the military and contained Immediately for investigation. I bet we can get to the sources of V2K and RNM then. https://ecency.com/fyrstikken/@fairandbalanced/i-am-the-only-motherfucker-on-the-internet-pointing-to-a-direct-source-for-voice-to-skull-electronic-terrorism ..... https://ecency.com/gangstalking/@acousticpulses/electronic-terrorism-and-gaslighting--if-you-downvote-this-post-you-are-part-of-the-problem

poshtoken's avatar @poshtoken 6/9/2022

https://twitter.com/Rafa_elaquino/status/1534935885749403651 The rewards earned on this comment will go directly to the people sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.