Когда я пишу

print(set(df_.dtypes))

Я получаю:

{dtype('int64'), dtype('float64')}

Можно ли получить результат как:

int64, float64 или [int64, float64]?

3
dereks 28 Июн 2019 в 16:35

3 ответа

Лучший ответ

Да, ты можешь

set(df.dtypes.map(lambda x : x.name))
Out[379]: {'float64', 'int64', 'object'}
3
YO and BEN_W 28 Июн 2019 в 13:54

Вы можете использовать df.dtypes

    df=pd.DataFrame()
    df['A']=['a','b','c']
    df['B']=[1,2,3]
    df['C']=[1.3,4.6,0.01]
    print(df.dtypes)

< Сильный > выход:
Объект
B int64
C float64
dtype: объект

data type of the column

0
Rahul Verma 28 Июн 2019 в 13:48

Ты можешь попробовать:

str(df_.dtypes).split()[1::2][:-1]

Пояснения:

  • df_.dtypes: получить типы каждого столбца
  • str(df_.dtypes): преобразовать предыдущие результаты в строку
  • .split(): разбить строку на пробел
  • [1::2]: выберите каждые 2 элемента списка (начиная с 1)
  • [:-1]: удалить последний элемент списка (здесь бесполезно)
1
Alexandre B. 28 Июн 2019 в 13:50