Extension array for string data.
Warning
StringArray is considered experimental. The implementation and parts of the API may change without warning.
The array of data.
Warning
Currently, this expects an object-dtype ndarray where the elements are Python strings or nan-likes (None, np.nan, NA). This may change without warning in the future. Use pandas.array() with dtype="string" for a stable way of creating a StringArray from any sequence.
Changed in version 1.5.0: StringArray now accepts array-likes containing nan-likes(None, np.nan) for the values parameter in addition to strings and pandas.NA
Whether to copy the array of data.
Attributes
None |
Methods
None |
See also
pandas.array()The recommended function for creating a StringArray.
Series.strThe string methods are available on Series backed by a StringArray.
Notes
StringArray returns a BooleanArray for comparison methods.
Examples
>>> pd.array(['This is', 'some text', None, 'data.'], dtype="string")
<StringArray>
['This is', 'some text', <NA>, 'data.']
Length: 4, dtype: string
Unlike arrays instantiated with dtype="object", StringArray will convert the values to strings.
>>> pd.array(['1', 1], dtype="object")
<NumpyExtensionArray>
['1', 1]
Length: 2, dtype: object
>>> pd.array(['1', 1], dtype="string")
<StringArray>
['1', '1']
Length: 2, dtype: string
However, instantiating StringArrays directly with non-strings will raise an error.
For comparison methods, StringArray returns a pandas.BooleanArray:
>>> pd.array(["a", None, "c"], dtype="string") == "a"
<BooleanArray>
[True, <NA>, False]
Length: 3, dtype: boolean
© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.arrays.StringArray.html