numpy.can_cast
- numpy.can_cast(from_, to, casting='safe')
-
Возвращает True, если преобразование между типами данных возможно в соответствии с правилом преобразования.
- Параметры:
-
- from_dtype, спецификатор dtype, NumPy скаляр или массив
-
Тип данных, NumPy скаляр или массив для преобразования.
- todtype или спецификатор dtype
-
Тип данных для преобразования.
- casting{‘no’, ‘equiv’, ‘safe’, ‘same_kind’, ‘unsafe’}, необязательно
-
Управляет тем, какие преобразования типов данных могут произойти.
- ‘no’ означает, что преобразование типов данных вообще не должно происходить.
- ‘equiv’ означает, что допускаются только изменения порядка байтов.
- ‘safe’ означает, что допускаются только преобразования, которые могут сохранить значения.
- ‘same_kind’ означает, что допускаются только безопасные преобразования или преобразования внутри одного рода, например, float64 в float32.
- ‘unsafe’ означает, что могут быть выполнены любые преобразования данных.
- Возвращает:
-
- outbool
-
True, если преобразование может произойти в соответствии с правилом преобразования.
См. также
Примечания
Изменено в версии 1.17.0: Преобразование между простым типом данных и структурированным типом возможно только для преобразований «unsafe». Преобразование к нескольким полям разрешено, но преобразование из нескольких полей не разрешено.
Изменено в версии 1.9.0: Преобразование из числовых в строковые типы в режиме «safe» преобразования требует, чтобы длина строкового dtype была достаточно большой, чтобы хранить максимальное целое или число с плавающей точкой значение, преобразованное.
Изменено в версии 2.0: Эта функция больше не поддерживает Python-скаляры и не применяет никакой логики, основанной на значениях, для 0-мерных массивов и NumPy-скаляров.
Примеры
Основные примеры
>>> np.can_cast(np.int32, np.int64) True >>> np.can_cast(np.float64, complex) True >>> np.can_cast(complex, float) False
>>> np.can_cast('i8', 'f8') True >>> np.can_cast('i8', 'f4') False >>> np.can_cast('i4', 'S4') False
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.can_cast.html