Se eu tiver um quadro de dados com as seguintes colunas:
1. NAME object
2. On_Time object
3. On_Budget object
4. %actual_hr float64
5. Baseline Start Date datetime64[ns]
6. Forecast Start Date datetime64[ns]
Eu gostaria de poder dizer: aqui está um dataframe, me dê uma lista das colunas que são do tipo Object ou do tipo DateTime?
Eu tenho uma função que converte números (Float64) em duas casas decimais e gostaria de usar esta lista de colunas de quadro de dados, de um tipo específico, e executá-la nessa função para convertê-las em 2dp.
Talvez:
For c in col_list: if c.dtype = "Something"
list[]
List.append(c)?
df.dtypes
faz isso.Respostas:
Se você deseja uma lista de colunas de um determinado tipo, pode usar
groupby
:fonte
object
tipo, independentemente do conteúdo real #select_dtypes
vezNo pandas v0.14.1, você pode utilizar
select_dtypes()
para selecionar colunas por dtypefonte
Usando
dtype
você fornecerá o tipo de dados da coluna desejada:se você quiser conhecer os tipos de dados de toda a coluna de uma só vez , poderá usar o plural de
dtype
como dtypes :fonte
df.select_dtypes(include=['Object','DateTime']).columns
como discutido abaixoVocê pode usar a máscara booleana no atributo dtypes:
Você pode ver apenas essas colunas com o tipo desejado:
Agora você pode usar round (ou qualquer outra coisa) e atribuí-lo de volta:
fonte
Isso deve fazer o truque
fonte
use
df.info(verbose=True)
wheredf
é um datafarme de pandas, por padrãoverbose=False
fonte
A maneira mais direta de obter uma lista de colunas de um determinado tipo, por exemplo, 'objeto':
Por exemplo:
Para obter todas as colunas dtype 'object':
Apenas para a lista:
fonte
Se você quiser uma lista apenas das colunas de objetos, poderá fazer:
e se você deseja obter outra lista apenas dos numéricos:
fonte
Eu vim com este forro de três .
Basicamente, aqui está o que ele faz:
Isso facilitou muito minha vida na tentativa de gerar esquemas em tempo real. Espero que isto ajude
fonte
para yoshiserry;
fonte
Eu uso infer_objects ()
df.infer_objects().dtypes
fonte