np.concatenate unexpectedly alters data types of arrays in NumPy 1.24.2
I'm working with an scenario where using `np.concatenate` on arrays of different data types results in unexpected behavior. I have two arrays, one of type `float64` and the other of type `object`, and when I concatenate them, the resulting array changes the data type of the `float64` array to `object`, which is not what I anticipated. Here's a simplified version of what I'm trying to do: ```python import numpy as np a = np.array([1.5, 2.5, 3.5], dtype=np.float64) b = np.array(['a', 'b', 'c'], dtype=np.object) result = np.concatenate((a, b)) print(result) print(result.dtype) ``` When I run this code, I expect the `result` array to maintain the `float64` type for the first part and just append the object array. However, the output shows that the data type has changed to `object`: ``` ['1.5' '2.5' '3.5' 'a' 'b' 'c'] object ``` I checked the documentation for `np.concatenate` but didn't find any indication that this would change the data types of the input arrays. Is there a way to ensure that the dtype of the first array is preserved when concatenating with an object array? I also considered using `np.hstack` or `np.vstack`, but the result seems to be the same. Has anyone else encountered this scenario, or is there a recommended best practice for handling such cases in NumPy? I'm developing on macOS with Python.