pandas.arrays.StringArray#

class pandas.arrays.StringArray(values, copy=False)[source]#

Extension array for string data.

New in version 1.0.0.

Warning

StringArray is considered experimental. The implementation and parts of the API may change without warning.

Parameters
valuesarray-like

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

copybool, default False

Whether to copy the array of data.

See also

pandas.array()

The recommended function for creating a StringArray.

Series.str

The 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")
<PandasArray>
['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

Attributes

None

Methods

None