# TypeError: ufunc 'subtract' did not contain a loop with signature matching types (dtype('<U32'), dtype('<U32')) -> None

- **ID:** `python/numpy-ufunc-typeerror-nonetype`
- **Domain:** python
- **Category:** type_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

Performing arithmetic on a NumPy array whose dtype is a Unicode/string type (e.g., '<U32') instead of a numeric dtype. Usually caused by np.array() inferring strings from mixed input or object columns from pandas.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 3.x | active | — | — |

## Workarounds

1. **** (95% success)
   ```
   arr = arr.astype(np.float64); result = arr1 - arr2
   ```
2. **** (90% success)
   ```
   Use pd.to_numeric(series, errors='coerce') before converting to NumPy
   ```

## Dead Ends

- **** — float() on a string array element raises ValueError before ufunc is reached (85% fail)
- **** — Keeps dtype as string, subtract is still undefined (90% fail)
