Cómo convertir la columna del DataFrame en cadena en los pandas

  1. Método Pandas DataFrame Series astype(str)
  2. Método apply de DataFrame para operar en los elementos de la columna
Cómo convertir la columna del DataFrame en cadena en los pandas

Introduciremos métodos para convertir la columna Pandas DataFrame en string.

  • Método astype(str) Series de Pandas DataFrame
  • El método de apply de DataFrame para operar en los elementos de la columna

Usaremos el mismo DataFrame que se muestra a continuación en este artículo.

import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4.1, 5.2, 6.3],
    'C': ["7", "8", "9"]})

print(df)
print(df.dtypes)
   A    B  C
0  1  4.1  7
1  2  5.2  8
2  3  6.3  9

A      int64
B    float64
C     object
dtype: object

Método Pandas DataFrame Series astype(str)

El método Seriess de Pandas astype(dtype) convierte la Series de Pandas al tipo dtype especificado.

pandas.Series.astype(str)

Convierte la columna Seriess, DataFrame como en este artículo, en string.

>>> df
   A    B  C
0  1  4.1  7
1  2  5.2  8
2  3  6.3  9
>>> df['A'] = df['A'].astype(str)
>>> df
   A    B  C
0  1  4.1  7
1  2  5.2  8
2  3  6.3  9
>>> df.dtypes
A     object
B    float64
C     object
dtype: object

El método astype() no modifica los datos de DataFrame en el lugar, por lo tanto necesitamos asignar la Series de Pandas devuelta a la columna DataFrame específica.

También podríamos convertir múltiples columnas a cadena simultáneamente poniendo los nombres de las columnas entre corchetes para formar una lista.

>>> df[['A','B']] = df[['A','B']].astype(str)
>>> df
   A    B  C
0  1  4.1  7
1  2  5.2  8
2  3  6.3  9
>>> df.dtypes
A    object
B    object
C    object
dtype: object

Método apply de DataFrame para operar en los elementos de la columna

apply(func, *args, **kwds)

El método apply de DataFrame aplica la función func a cada columna o fila.

Podríamos usar la función lambda en lugar de func por simplicidad.

>>> df['A'] = df['A'].apply(lambda _: str(_))
>>> df
   A    B  C
0  1  4.1  7
1  2  5.2  8
2  3  6.3  9
>>> df.dtypes
A     object
B    float64
C     object
dtype: object

No podrías usar el método apply para aplicar la función a múltiples columnas.

>>> df[['A','B']] = df[['A','B']].apply(lambda _: str(_))
Traceback (most recent call last):
  File "<pyshell#31>", line 1, in <module>
    df[['A','B']] = df[['A','B']].apply(lambda _: str(_))
  File "D:\WinPython\WPy-3661\python-3.6.6.amd64\lib\site-packages\pandas\core\frame.py", line 3116, in __setitem__
    self._setitem_array(key, value)
  File "D:\WinPython\WPy-3661\python-3.6.6.amd64\lib\site-packages\pandas\core\frame.py", line 3144, in _setitem_array
    self.loc._setitem_with_indexer((slice(None), indexer), value)
  File "D:\WinPython\WPy-3661\python-3.6.6.amd64\lib\site-packages\pandas\core\indexing.py", line 606, in _setitem_with_indexer
    raise ValueError('Must have equal len keys and value '
ValueError: Must have equal len keys and value when setting with an iterable
Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn

Artículo relacionado - Pandas DataFrame

  • Cómo obtener las cabeceras de columna de Pandas DataFrame como una lista
  • Cómo borrar la columna de Pandas DataFrame
  • Cómo convertir la columna del DataFrame a Datetime en Pandas
  • Cómo convertir un float en un entero en Pandas DataFrame
  • Cómo clasificar Pandas DataFrame por los valores de una columna
  • Cómo obtener el agregado de Pandas grupo por y suma
  • Artículo relacionado - Pandas DataFrame Column

  • Cómo obtener las cabeceras de columna de Pandas DataFrame como una lista
  • Cómo borrar la columna de Pandas DataFrame
  • Cómo convertir la columna del DataFrame a Datetime en Pandas
  • Cómo obtener la suma de la columna de Pandas
  • Cómo cambiar el orden de las columnas Pandas DataFrame