¿Cómo convertir flotadores en strings en Pandas DataFrame?

En esta publicación, veremos diferentes formas de convertir flotantes en strings en Pandas Dataframe. Pandas Dataframe brinda la libertad de cambiar el tipo de datos de los valores de columna. Podemos cambiarlos de enteros a flotantes, enteros a strings, strings a enteros, flotantes a strings, etc.

Hay tres métodos para convertir Float a String:

Método 1: Usar DataFrame.astype() .

Sintaxis :

DataFrame.astype(dtype, copy=True, errors=’raise’, **kwargs)

Esto se usa para convertir un objeto pandas a un tipo de d especificado. Esta función también proporciona la capacidad de convertir cualquier columna existente adecuada a tipo categórico.

Ejemplo 1: convertir una columna de flotante a string.

Python3

# Import pandas library 
import pandas as pd 
  
# initialize list of lists 
data = [['Harvey', 10, 45.25], ['Carson', 15, 54.85],
        ['juli', 14, 87.21], ['Ricky', 20, 45.23],
        ['Gregory', 21, 77.25], ['Jessie', 16, 95.21]] 
  
# Create the pandas DataFrame 
df = pd.DataFrame(data, columns = ['Name', 'Age', 'Marks'],
                  index = ['a', 'b', 'c', 'd', 'e', 'f']) 
  
# lets find out the data type 
# of 'Marks' column
print (df.dtypes)

Producción:

Ahora, cambiamos el tipo de datos de la columna ‘ Marcas’ de ‘float64’ a ‘objeto’.

Python3

# Now we will convert it from 
# 'float' to 'String' type. 
df['Marks'] = df['Marks'].astype(str)
  
print()
  
# lets find out the data
# type after changing
print(df.dtypes)
  
# print dataframe. 
df 

Producción:

Ejemplo 2: convertir más de una columna de flotante a string.

Python3

# Import pandas library 
import pandas as pd 
  
# initialize list of lists 
data = [['Harvey.', 10.5, 45.25, 95.2], ['Carson', 15.2, 54.85, 50.8], 
        ['juli', 14.9, 87.21, 60.4], ['Ricky', 20.3, 45.23, 99.5],
        ['Gregory', 21.1, 77.25, 90.9], ['Jessie', 16.4, 95.21, 10.85]] 
  
# Create the pandas DataFrame 
df = pd.DataFrame(data, columns = ['Name', 'Age', 'Marks', 'Accuracy'],
                  index = ['a', 'b', 'c', 'd', 'e', 'f']) 
  
# lets find out the data type 
# of 'Age' and 'Accuracy' columns
print (df.dtypes)

Producción:

Ahora, cambiamos el tipo de datos de las columnas ‘ Precisión ‘ y ‘ Edad ‘ de ‘float64’ a ‘objeto’.

Python3

# Now Pass a dictionary to 
# astype() function which contains 
# two columns and hence convert them
# from float to string type
df = df.astype({"Age": 'str', "Accuracy": 'str'})
print()
  
# lets find out the data 
# type after changing
print(df.dtypes)
  
# print dataframe. 
df 

Producción:

Método 2: Usando Series.apply() .

Sintaxis :

DataFrame.apply(func, axis=0, raw=False, result_type=None, args=(), **kwds)

Este método permite a los usuarios pasar una función y aplicarla en cada valor de la serie Pandas.

Ejemplo: convertir la columna de un marco de datos de flotante a string.

Python3

# Import pandas library 
import pandas as pd 
  
# initialize list of lists 
data = [['Harvey.', 10.5, 45.25, 95.2], ['Carson', 15.2, 54.85, 50.8],
        ['juli', 14.9, 87.21, 60.4], ['Ricky', 20.3, 45.23, 99.5],
        ['Gregory', 21.1, 77.25, 90.9], ['Jessie', 16.4, 95.21, 10.85]] 
  
# Create the pandas DataFrame 
df = pd.DataFrame(data, columns = ['Name', 'Age', 'Percentage', 'Accuracy'],
                  index = ['a', 'b', 'c', 'd', 'e', 'f']) 
  
# lets find out the data 
# type of 'Percentage' column
print (df.dtypes)

Producción:

Ahora, cambiamos el tipo de datos de la columna ‘ Porcentaje ‘ de ‘float64′ a ”objeto’.

Python3

# Now we will convert it from 
# 'float' to 'string' type. 
df['Percentage'] = df['Percentage'].apply(str) 
print()
  
# lets find out the data
# type after changing
print(df.dtypes)
  
# print dataframe. 
df

Producción:

Método 3 : Usar Series.map() .

Sintaxis:

Series.map(arg, na_action=None)

Este método se usa para mapear valores de dos series que tienen una columna igual. 

Ejemplo: convertir la columna de un marco de datos de flotante a string.

Python3

# Import pandas library 
import pandas as pd 
  
# initialize list of lists 
data = [['Harvey.', 10.5, 45.25, 95.2], ['Carson', 15.2, 54.85, 50.8], 
        ['juli', 14.9, 87.21, 60.4], ['Ricky', 20.3, 45.23, 99.5],
        ['Gregory', 21.1, 77.25, 90.9], ['Jessie', 16.4, 95.21, 10.85]] 
  
# Create the pandas DataFrame 
df = pd.DataFrame(data, columns = ['Name', 'Age', 'Percentage', 'Accuracy'],
                  index = ['a', 'b', 'c', 'd', 'e', 'f']) 
  
# lets find out the data
# type of 'Age' column
print (df.dtypes)

Producción:

Ahora, cambiamos el tipo de datos de la columna ‘ Edad ‘ de ‘float64’ a ‘objeto’.

Python3

# Now we will convert it from 'float' to 'string' type. 
# using DataFrame.map(str) function
df['Age'] = df['Age'].map(str)  
print()
  
# lets find out the data type after changing
print(df.dtypes)
  
# print dataframe. 
df 

Producción:

Publicación traducida automáticamente

Artículo escrito por vanshgaur14866 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *