Проблема с dtypes() после удаления отмеченных значений

#python #excel

#питон #преуспеть

Вопрос:

У меня есть фрейм данных с отмеченными значениями?:

 **A1  A2  A3    A4**
  =================  
  a   1   2.67  2.3  
  b   ?   9.00  3.2  
  aa  0   3.33  4.4  
  a   0   ?     1.5
 

и использование dtypes () для проверки типа:

 A1: object  
A2: object  
A3: object  
A4: float64
 

Теперь я заменяю ? отмеченные значения на np.NaN , а затем использую dropna() для очистки отмеченных значений.
Фрейм данных теперь выглядит так:

 **A1  A2  A3    A4**
  =================  
  a   1   2.67  2.3  
  aa  0   3.33  4.4
 

и если я использую dtypes() его еще раз для проверки, результаты останутся теми же:

 A1: object  
A2: object  
A3: object  
A4: float64
 

В то время как я ожидаю, что тип данных A2 должен быть Bool , а тип данных A3 должен быть float64 .

Любая помощь или объяснение по этому поводу?

Ответ №1:

Это строковые представления чисел, возможно, применимые pd.to_numeric :

 df.apply(pd.to_numeric)
 

После нового df

Комментарии:

1. он показывает ошибку «Невозможно разобрать строку «a» в позиции 0″. Похоже, что весь набор данных будет изменен на числовой тип. Хотя результат, который я ожидаю, будет следующим: A1: object, A2: Bool, A3 и A4: float64