@@ -205,6 +205,7 @@ def test_to_numpy_pandas_series_pyarrow_dtypes_date(dtype, expected_dtype):
205
205
# - int8, int16, int32, int64
206
206
# - uint8, uint16, uint32, uint64
207
207
# - float16, float32, float64
208
+ # - String types: string/utf8, large_string/large_utf8, string_view
208
209
# - Date types:
209
210
# - date32[day]
210
211
# - date64[ms]
@@ -278,6 +279,28 @@ def test_to_numpy_pyarrow_array_pyarrow_dtypes_numeric_with_na(dtype, expected_d
278
279
npt .assert_array_equal (result , array )
279
280
280
281
282
+ @pytest .mark .skipif (not _HAS_PYARROW , reason = "pyarrow is not installed" )
283
+ @pytest .mark .parametrize (
284
+ "dtype" ,
285
+ [
286
+ None ,
287
+ "string" ,
288
+ "utf8" , # alias for string
289
+ "large_string" ,
290
+ "large_utf8" , # alias for large_string
291
+ "string_view" ,
292
+ ],
293
+ )
294
+ def test_to_numpy_pyarrow_array_pyarrow_dtypes_string (dtype ):
295
+ """
296
+ Test the _to_numpy function with PyArrow arrays of PyArrow string types.
297
+ """
298
+ array = pa .array (["abc" , "defg" , "12345" ], type = dtype )
299
+ result = _to_numpy (array )
300
+ _check_result (result , np .str_ )
301
+ npt .assert_array_equal (result , array )
302
+
303
+
281
304
@pytest .mark .skipif (not _HAS_PYARROW , reason = "pyarrow is not installed" )
282
305
@pytest .mark .parametrize (
283
306
("dtype" , "expected_dtype" ),
0 commit comments