Pd.api.types.is_string_dtype () вводит в заблуждениеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pd.api.types.is_string_dtype () вводит в заблуждение

Сообщение Anonymous »

Код: Выделить всё

df = pd.DataFrame({
'col_str': ["a", "b", "c"],
'col_lst_str': [["a", "b", "c"], ["d", "e", "f"], ["g", "h",  "i"]],
'col_lst_int': [[1, 2, 3], [4, 5, 6], [7, 8, 9]],
'col_arr_int': [np.array([1, 2, 3]),np.array([4, 5, 6]), np.array([7, 8, 9])]
})

print(df.dtypes)
print(pd.api.types.is_object_dtype(df['col_lst_int'].dtype))              # return True expected !
print(pd.api.types.is_object_dtype(df['col_arr_int'].dtype))              # return True expected !
print(pd.api.types.is_string_dtype(df['col_lst_int'].dtype))              # return True confusing !!
print(pd.api.types.is_string_dtype(df['col_arr_int'].dtype))              # return True confusing !!
print(df['col_lst_int'].apply(lambda x: isinstance(x, list)).all())       # return True expected !
print(df['col_arr_int'].apply(lambda x: isinstance(x, np.ndarray)).all()) # return True expected !
When a pandas dataframe column contains lists or numpy arrays of integer elements (column dtype=object) both pd.api.types.is_object_dtype() and pd.api.types.is_string_dtype() return True which is completely misleading. Я ожидал, что pd.api.types.is_string_dtype () вернет false. Now my column is seems to have two valid dtypes, dtype = object and dtype = string which can cause serious problemes in conditionnal logics.
Even the API doc official is misleading claiming that the element must be inferred as string. Почему в моем примере элементы 1 2 3 можно сделать в качестве строки? Похоже, работает, как и ожидалось, с серией Pandas, хотя это ошибка с DataFrames?>

Подробнее здесь: https://stackoverflow.com/questions/797 ... misleading
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Pd.api.types.is_string_dtype () вводит в заблуждение
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Конвертировать Map > для списка > используя API потока
    Anonymous » » в форуме JAVA
    0 Ответы
    101 Просмотры
    Последнее сообщение Anonymous
  • Вводящая в заблуждение документация Java String.intern()?
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Назначьте ввод Map> выходу Map>
    Anonymous » » в форуме JAVA
    0 Ответы
    125 Просмотры
    Последнее сообщение Anonymous
  • Невозможно привести данные массива из dtype('float64') в dtype('int32') в соответствии с "безопасным"
    Anonymous » » в форуме Python
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»