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