2014-10-16 2 views
-1

Я пытаюсь сделать проверку типа с элементом панд dataframe, который, как представляется, быть строкой:строки проверка введи питон

type(atmdf.ix[row]['bid']) 

<type 'str'> 

Однако, если я делаю проверку типа я получаю значение False:

type(atmdf.ix[row]['bid']) is 'str' 

False 

даже с isinstance я получаю тот же неожиданный результат:

isinstance(type(atmdf.ix[row]['bid']), str) 

False 

, где я не прав?

P.S. содержание данных является примерно таким:

atmdf.ix[row]['bid'] 
'28.5' 

спасибо!

+2

Ваш второй неверный должен быть «type (atmdf.ix [row] ['bid']) is str' – EdChum

ответ

2

Вы должны проверить строковое себя isintance, а не тип:

In [2]: isinstance('string', str) 
Out[2]: True 

Так что в вашем случае (Опуская type(..)): isinstance(atmdf.ix[row]['bid'], str).

Ваша первая проверка не сработала, потому что вам нужно сравнить с str (тип) не 'str' (строка).

+0

спасибо! Я полностью понял это неправильно ... – mspadaccino

+1

См. Комментарий @EdChum: вам нужно сравнить с 'str' not' 'str'' – joris

+1

@mspadaccino, потому что вы сравниваете строку '' str'', а не тип 'str ' – EdChum

Смежные вопросы