Como converter a coluna DataFrame em String em Pandas
-
Pandas DataFrame Series
astype(str)
Método -
DataFrame
apply
Método para operar em Elementos na Coluna
Introduziremos métodos para converter a coluna Pandas DataFrame em string
.
- Método Pandas DataFrame Series
astype(str)
- DataFrame método
apply
para operar em elementos em coluna
Utilizaremos o mesmo DataFrame abaixo neste artigo.
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
Pandas DataFrame Series astype(str)
Método
astype(str)
Método converte a Série Pandas para o tipo especificado de type
.
pandas.Series.astype(str)
Ele converte a Série, coluna DataFrame como neste artigo, para 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
O astype()
método não modifica os dados DataFrame
no local, portanto precisamos atribuir a coluna Series
de Pandas retornada à coluna específica DataFrame
.
Também poderíamos converter várias colunas em string simultaneamente colocando os nomes das colunas entre colchetes para formar uma 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
DataFrame apply
Método para operar em Elementos na Coluna
apply(func, *args, **kwds)
O método apply
de DataFrame
aplica a função func
a cada coluna ou linha.
Poderíamos utilizar a função lambda
no lugar de func
para simplificar.
>>> 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
Você não poderia utilizar o método apply
para aplicar a função a várias colunas.
>>> 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
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 FacebookArtigo relacionado - Pandas DataFrame
- Como obter os cabeçalhos da coluna Pandas DataFrame como uma lista
- Como eliminar a coluna Pandas DataFrame
- Como Converter a Coluna DataFrame para DataTempo em Pandas
- Como Converter um Flutuador em um Inteiro em Pandas DataFrame
- Como Classificar Pandas DataFrame pelos Valores de uma Coluna
- Como Obter o Agregado de Pandas Group-By e Sum